簡體   English   中英

BASH:在后台運行script.sh並將該實例的pid輸出到文件?

[英]BASH: Run script.sh in background and output that instance's pid to file?

我確定這可能是一個可恥的愚蠢的問題,但是感覺就像我已經在網上做了兩圈閱讀有關流程管理,輸出重定向等的內容,但是我一直在努力理解所有這些內容以實現目標我想要。

在本質上:

我想在后台運行shell腳本(調用時會傳遞一些參數); 然后在運行時,將該實例的pid寫入指定的文件。

./offtimer.sh device1 10 &

當然,該腳本在后台運行,並將該實例的pid輸出到屏幕上; 我只想將該數字保存到一個文件中(例如device1.pid)。

我知道(通過閱讀以及反復試驗,我保證!)

./offtimer.sh device1 10 & > device1.pid

語法無效; 但是盡管我讀了一個又一個的線程,但我仍然找不到解決方法。

衷心感謝您的幫助!

[R

您可以使用$訪問最后一個子進程ID

./offtimer.sh device1 10 &
echo $! > device1.pid

./offtimer.sh device1 10> device1.pid和

或者,您可以將其寫入腳本中的文件,而不是將其輸出到stdout。

$! 是最后一個后台進程的ID。

./offtimer.sh device1 10 &
echo $! > device1.pid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM