我是所有Linux系統的初學者,所以請慢一點。在沒有PID的情況下在後臺運行一個while循環
我創建了一個「腳本」這是在後臺運行:
while true; do echo "I'm alive" >> alive.log ; done &
腳本的輸出保存在一個文件alive.log這是存在於用戶的主目錄。 問題是我沒有ideea如何殺死循環,因爲它是填充我的磁盤空間,如果我想刪除文件,然後循環將創建一個新文件,並填充文本「我活着」,因爲我已經要求它這樣做。
我試着使用:
ps - aux | grep while
或
ps - aux | grep alive
兩個線路輸出會給我我需要的PID,但問題是,腳本是一個循環,這意味着PID每次運行時都會改變(遞歸),所以我不能使用PID來終止進程。
我也嘗試使用:
pkill while
killall while
結果爲兩條線是0(輸出可使用pkill的時可以看到而-c「0」或killall而:「而:沒有發現過程」;
有什麼建議嗎?
輸入'fg'將它放在前臺並用ctrl-c將其殺死。 –
...或者殺死%1。查找'help kill' – hek2mgl
輸入'jobs',找到你的腳本(例如'[1] + Running ...'),然後用'kill%1'殺死它(或者任何數字在'[]'中)。 – randomir