2012-12-05 194 views
0

我只是想製作一個簡單的腳本,其中涉及命令「工作」,但它似乎不起作用,甚至沒有得到「男人「......不知道發生了什麼事:S。命令「工作」不能在終端(外殼,bash)上工作

+0

'jobs'是shell內置命令 - 「man bash」來閱讀它。它是如何「不工作」?你在期待什麼與你正在觀察的是什麼? – twalberg

+0

它應該顯示工作暫停或在第二架飛機的狀態,或者如此說我的老師... – Zasito

+1

不知道什麼是「第二架飛機」的意思,但我會加上 - 「工作」會告訴你的背景並由這個shell實例啓動的作業*暫停。因此,如果你的腳本不在後臺啓動任何東西(即'some_command&'),'jobs'就不會有輸出。它不會報告由父shell啓動的事情。 – twalberg

回答

1

jobs將僅在背景和/或通過在其中jobs正在運行殼的實例產生了掛起的進程報告。因此,在腳本中使用它將會是有用的(但對於報告腳本用戶的情況應該沒問題),因爲只有在腳本中早些時候產生並且以其他方式背景或暫停的事物纔會是已知的到運行腳本的shell實例。

0

安裝POSIX手冊頁。這個軟件包應該被命名爲「manpages-posix-dev」或類似的東西。

0

我不認爲有一個名爲jobs的linux/unix命令。

ubuntu上的which jobssudo apt-get jobs找不到任何東西。

如果是本地二進制文件,請檢查您的$PATH以確保它包含在內。

+0

'type jobs'可能會找到它,具體取決於你正在使用的shell。 – cdarke

1

您需要爲jobs命令運行交互式shell才能執行作業 - 作業控制由用戶使用,而不是由腳本使用。

您應該能夠使用jobs -p命令來獲取運行後臺任務(作業)的pid,這可能會完成您正在嘗試執行的任務。這應該顯示所有子進程的pid,可以單獨檢查/監視。

1

jobs是一個bash內建的(如果你想到它,它實際上並沒有真正有意義的控制從shell啓動的作業進程的系統命令)。在終端

    • 發行help jobs在Bash參考手冊閱讀corresponding section:你會發現有關該命令的詳細信息。
  • 0

    使用ps命令從shell腳本查找您的進程

    相關問題