在Ubuntu中定位运行中的程序路径

前端之家收集整理的这篇文章主要介绍了在Ubuntu中定位运行中的程序路径前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在Ubuntu中定位运行中的程序路径

在Ubuntu中,发现某个删除过的vscode程序依然在运行,使用

sudo apt-get remove code

无法卸载vscode,但是Ubuntu的侧边栏中又可以调起vscode的程序。

那么我们就开始发现之旅吧。找到这个程序,然后干掉它。

1. 查询进程

ps -A

出现如下的结果

➜  ~ ps -A                    
  PID TTY          TIME CMD
 8302 ?        00:01:02 chromium-browse
 8852 ?        00:00:02 code
 8856 ?        00:00:00 code
 8876 ?        00:00:00 code
 8953 ?        00:00:00 code
 8960 ?        00:00:06 code
 8975 ?        00:00:00 code
 8984 ?        00:00:00 code
 9431 pts/13   00:00:00 ps

可以肯定这些code进程虽然PID不同,但是都是同一个程序文件

2. 定位文件

那我们就挑一个PID,比如最后的一个code的PID是8984
我们执行命令:

sudo ls -l /proc/8984/exe

执行后的结果:

lrwxrwxrwx 1 railsgirls railsgirls 0 1228 15:20 /proc/8984/exe -> /home/railsgirls/下载/VSCode-linux-ia32/code

可以看到/home/railsgirls/下载/VSCode-linux-ia32/code就是我要找的文件

3.清除文件

接下来就是干掉文件了。目前code程序在运行。

干点邪恶的事情,在code运行的时候,直接干掉文件,看看会出现什么。
执行:

rm /home/railsgirls/下载/VSCode-linux-ia32/code

发现运行中的vscode程序并没有受到影响。然而,再次点击Ubuntu左侧板的vscode图标,再也无法启动vscode了,说明删除有效。

参考文献:
1. How to get (from terminal) total number of threads (per process and total for all processes)
2. How to view threads of a process on Linux
3. How can I know the absolute path of a running process?

猜你在找的Ubuntu相关文章