Process

為什麼某些程序不斷跳到更高的 PID?

  • July 1, 2020

有時當我vscode掛斷時,我不得不強制退出它,就好像它不會重新啟動,直到我重新啟動我的電腦。在關閉電腦之前,我嘗試查找它的 ID,因為我懷疑它已經在執行,這就是它不會啟動新視窗的原因。

$ ps aux | grep vscode
rtviii     44456  0.0 0.0   8908   656 pts/0    S+  10:21  0:00 grep ... vscode
$ ps aux | grep vscode
rtviii     44459  0.0 0.0   8908   656 pts/0    S+  10:21  0:00 grep ... vscode
...

我發現確實有這個過程看起來vscode雖然程序本身沒有執行(沒有視窗,無法打開文件,只是點擊圖示無效)。

我嘗試kill -9了這個過程,但係統報告這個pid doesn't exist. 似乎每次我輪詢它時,它都會不斷向更高的 pid 前進,這就是為什麼我無法確定它的原因。

有人可以解釋這種行為的根源以及如何處理它嗎?

您從中看到psgrep過程是您用來過濾包含的行的過程vscode,而不是vscode它本身。每次你執行它時,你都在執行一個新的實例,grep所以它會得到一個新的 pid。你不能殺死那個程序,因為當你去殺死它時,grep它已經終止了。

https://unix.stackexchange.com/a/74186/90691

引用自:https://unix.stackexchange.com/questions/596162