Command-Line
解釋為什麼看 ‘jobs’ 不工作,但看 ‘ps’ 工作?
jobs
是我最喜歡查看在後台執行的程式碼的命令。為了動態檢查它們,我傾向於輸入watch 'jobs'
不顯示任何內容。然而
watch 'ps'
完美執行。幾個月來我一直在犯同樣的錯誤。
我認為理解為什麼第一個不起作用而第二個起作用可以幫助我停止犯同樣的錯誤。
任何人都可以幫忙嗎?
jobs
是一個報告目前 shell 狀態的內置函式:該 shell 的後台命令。watch
每次執行都會執行一個新的 shell,而那個 shelljobs
無法知道watch
父 shell 的工作是什麼。ps
是一個外部命令,它從未使用過 shell 的狀態。