Shell

實時監控後台作業

  • August 23, 2016

我執行了這樣的命令:nohup some_command &. 現在這個命令在後台。我可以用命令看到它jobs

範例輸出:

[1]+  Running                 nohup some_command &

是否有可能以某種方式實時表示來自jobs命令的狀態,類似於如何top工作?所以當nohup some_command &完成時,它會立即從列表中消失?

如果您只想立即列印作業完成通知,即使您正在輸入提示或其他作業在前台,那麼只需執行set -o notify.

如果你想要一個顯示目前 shell 後台作業狀態的前台命令,你可以jobs循環執行。全屏很容易做到:

tput clear
jobs
while sleep 1; do
 tput clear
 jobs
done

如果您想在提示下方顯示列表而不清除螢幕,請將游標位置保存在開頭並在每次執行時恢復:

tput sc
jobs
while sleep 1; do
 tput rc
 jobs
done

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