如何讓你的linux程式在後台靜默執行

2021-09-10 08:16:09 字數 1533 閱讀 5813

最近寫了個工具, 需要在後台靜默執行, 即使關閉了當前linux命令列視窗, 也不會有影響, 我們來戲說

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

2.  寫指令碼run.sh  (要注意許可權, 確保可執行)

#!/bin/bashallfile=`ls test_*`for onefile in $allfiledo        /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

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

最近寫了個工具, 需要在後台靜默執行, 即使關閉了當前linux命令列視窗, 也不會有影響, 我們來戲說

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

2.  寫指令碼run.sh  (要注意許可權, 確保可執行)

#!/bin/bashallfile=`ls test_*`for onefile in $allfiledo        /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

如何讓你的linux程式在後台靜默執行

最近寫了個工具,需要在後台靜默執行,即使關閉了當前linux命令列視窗,也不會有影響,我們來戲說 1.寫main.cpp,生成可執行的二進位制檔案main 要注意許可權,確保可執行 2.寫指令碼run.sh 要注意許可權,確保可執行 bin bashallfile ls test for onefi...

如何讓程式真正地在後台執行?

如何實現乙個守護程序?如何讓程式在後台執行?這是後台開發面試常問的一道題,那麼守護程序到底是什麼?又該如何實現?守護程序通常生存期長,很多是在系統啟動時啟動,系統退出時才關閉。它們的特點通常沒有控制終端,後台執行。有人可能會會心一笑,後台執行程式,我知道呀。還有兩種方式呢 hello 看,多麼簡單。...

Linux中如何讓程序在後台執行

在linux中,如果要讓程序在後台執行,一般情況下,我們在命令後面加上 即可,實際上,這樣是將命令放入到乙個作業佇列中了 test.sh 1 17208 jobs l 1 17208 running test.sh 對於已經在前台執行的命令,也可以重新放到後台執行,首先按ctrl z暫停已經執行的程...