Process

在後台靜默啟動任務

  • March 15, 2022

我知道您可以使用它在後台啟動一個程序,而不會在將程序置於後台以及完成時收到通知:

(命令 &) &> /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)。

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