可執行檔不像常規檔那樣運作

可執行檔不像常規檔那樣運作

當我輸入這個命令時

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

我該怎麼做才能使可執行檔產生與手動鍵入相同的輸出?

因此,您的可執行文件產生相同的輸出。

相關內容