2017-06-09 102 views
1

我想從一個腳本啓動一個長時間運行的進程,然後退出,但我無處可去。這是我最簡單的測試。每次運行時,控制檯都會被阻塞5秒鐘。Linux:在子shell中運行

// Create script 
[email protected]:~/workspace/bin$ cat > test.sh 
sleep 5 
// Verify script 
[email protected]:~/workspace/bin$ cat test.sh 
sleep 5 
// Make executable 
[email protected]:~/workspace/bin$ chmod 777 test.sh 
// Expect to wait 
[email protected]:~/workspace/bin$ ./test.sh 
// Expect to return, still waits 
[email protected]:~/workspace/bin$ ./test.sh ? 
// Ditto 
[email protected]:~/workspace/bin$ nohup ./test.sh ? 
nohup: ignoring input and appending output to 'nohup.out' 
[email protected]:~/workspace/bin$ 

我運行Ubuntu 17.04 64, GNU的bash,版本4.4.7(1)-release下(x86_64-PC-Linux的GNU)

我是一個Linux小白,我我確定我沒有得到什麼。任何幫助表示讚賞。

回答

1

使用符號:nohup ./test.sh &

+0

是的。它有助於使用正確的字符。真的,謝謝你指出。 Steve11235

0

看起來像你的腳本正在等待的東西。將你的腳本粘貼在這裏。

+0

是如何從'chomd'不同,那麼在原來的問題執行,以及這將如何把'test.sh'在後臺? –

0

有幾個方法可以做到這一點,我去到的方法是把一個符號&在該行的末尾。

更多的方式被發現的符號方法this answer

更多解釋here

相關問題