Process
在後台靜默啟動任務
我知道您可以使用它在後台啟動一個程序,而不會在將程序置於後台以及完成時收到通知:
(命令 &) &> /dev/null
但是,這會刪除程序完成時擷取的選項 (
trap child_done CHLD
)。我怎麼能兩者兼得?
任務後台處理程序可能會幫助你。
如在freshmeat.net中:
任務假離執行緒序是一個 Unix 批處理系統,其中假離線的任務一個接一個地執行。可以隨時設置一次執行的作業數量。每個系統中的每個使用者都有自己的作業隊列。任務從任何 shell/程序在正確的上下文(入隊的上下文)中執行,並且可以輕鬆查看其輸出/結果。當您知道您的命令依賴於大量 RAM、大量磁碟使用、提供大量輸出或出於某種原因最好不要同時執行所有命令時,它非常有用,而您想保持您的資源正忙於獲得最大收益。它的界面允許在腳本中輕鬆使用它。
Task-spooler 在Debian、 Ubuntu 和其他發行版中可用。
它使您可以執行一系列任務,並隨意訪問它們的輸出。
例如:
$ tsp sleep 5 0 $ tsp sleep 5 1 $ tsp ID State Output E-Level Times(r/u/s) Command [run=1/1] 2 running /tmp/ts-out.ZWn6Le sleep 5 1 finished /tmp/ts-out.Fhlcle 0 5.00/0.00/0.01 sleep 5
如果您在後台執行大量作業,它肯定會對您有所幫助。
您可以按順序執行它們,也可以在預設數量的插槽中執行它們。您還可以在任務之間建立依賴關係(僅當task0成功完成時才執行**task1)。