为什么某些进程不断跳转到更高的 PID?

为什么某些进程不断跳转到更高的 PID?

有时,当我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,这就是为什么我无法确定它。

有人可以解释这种行为的根源是什么以及如何处理它吗?

答案1

您看到的过程psgrep您用来过滤包含vscode而非vscode其本身的行的过程。每次运行它时,都会运行一个新实例,grep因此它会获得一个新的 pid。您无法杀死该进程,因为当您去杀死它时,它grep已经终止了。

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

相关内容