當我輸入這個命令時
nohup CloudCompute.command &
它產生結果
[1] 782
這就是我想要的。 (順便說一句,這是 PID 號碼)
因此,當我在可執行檔 ( ) 中執行相同的命令.command
並嘗試將輸出附加到檔案時,它不起作用。它只是列印CloudCompute.command
輸出內容,而不是運行時顯示的實際 PID。我確信它位於同一目錄中。
為什麼會發生這種情況?我該怎麼做才能使可執行檔產生與手動鍵入相同的輸出?
謝謝
答案1
為什麼會發生這種情況?
該輸出:
[1] 782
不是來自可執行檔。bash
當您在背景執行某些操作時,寫入終端的內容。這是作業號碼和進程的[1]
PID 。782
稍後,當該過程完成時,您將看到類似以下內容:
[1]+ Done command
這也是由於bash
注意到作業號 1 的進程已完成。
當在後台運行命令時,PID 儲存在變數中$!
:
$ sleep 10 &
[1] 1234
$ echo $!
1234
我該怎麼做才能使可執行檔產生與手動鍵入相同的輸出?
因此,您的可執行文件是產生相同的輸出。