Command-Line

解釋為什麼看 ‘jobs’ 不工作,但看 ‘ps’ 工作?

  • July 27, 2019

jobs是我最喜歡查看在後台執行的程式碼的命令。為了動態檢查它們,我傾向於輸入

watch 'jobs'

不顯示任何內容。然而

watch 'ps'

完美執行。幾個月來我一直在犯同樣的錯誤。

我認為理解為什麼第一個不起作用而第二個起作用可以幫助我停止犯同樣的錯誤。

任何人都可以幫忙嗎?

jobs是一個報告目前 shell 狀態的內置函式:該 shell 的後台命令。watch每次執行都會執行一個新的 shell,而那個 shelljobs無法知道watch父 shell 的工作是什麼。ps是一個外部命令,它從未使用過 shell 的狀態。

引用自:https://unix.stackexchange.com/questions/532450