天天看點

如何讓你的linux程式在背景靜默執行?

       最近寫了個工具, 需要在背景靜默執行, 即使關閉了目前linux指令行視窗, 也不會有影響, 我們來戲說

如何讓你的linux程式在背景靜默執行?
如何讓你的linux程式在背景靜默執行?

       1.  寫main.cpp,  生成可執行的二進制檔案main  (要注意權限, 確定可執行)

       2.  寫腳本run.sh  (要注意權限, 確定可執行)

#!/bin/bash
allfile=`ls test_*`
for onefile in $allfile
do
        /usr/local/services/main /usr/local/services/$onefile & 
done
           

      3. 執行腳本:

/usr/local/services/run.sh &
           

       然後, 即使你關閉目前視窗, 背景的程式也不會停, 你可以爽爽地去睡覺了。 

       這裡我們要注意以下幾點:

       a.  兩個&都不能丢掉, 否則就不能在背景靜默執行

       b. 腳本中的那個循環, 會循環開啟多個程序, 這些程序會并發執行, 并不是說要等前一個程序執行完後, 才執行下一個程序。 你可以在for循環中加log試一下, 這些log是立即循環輸出的。 這樣就很好了, 多程序在背景并發地靜默執行, 太爽了。

       c. 如果要殺死所有的背景靜默執行的程序, 執行killall main指令就可以了, 爽。

       d.  test_*檔案是怎麼來的呢? 請參考我介紹過的linux split指令

       有興趣的朋友, 也可以看到我之前介紹過的nohup

繼續閱讀