以下是我熟悉的命令,它们可以执行您认为我想要的操作:
为了这个问题; "pn"= "进程名称"
pgrep pn
sudo /sbin/service pn status
ps -fC pn
我遇到的问题是 Java。 pgrep Java
会给我所有 java 进程的 PID。但是,如果我知道 Java 应用程序的确切名称,我们称它为咖啡,pgrep Coffee
什么也没有给我。但是,sudo/sbin/service Coffee status
会给我 Coffee 的确切 PID。问题是我不想也不能在我正在编写的脚本中使用 sudo。那么,即使是 Java 应用程序,我如何找到 Coffee 的 PID?
最佳答案
我也遇到了同样的问题。可能有更好的答案,但我所做的是这个
ps -efw | grep pn
然后我可以使用 awk 只获取我想要的列,这样它就只是 pid。
ps -efw | grep pn | awk '{print $2}'
编辑:在 ps 中使用“w”选项以获得宽输出。有时,名称中没有“w”就不会显示。
w Wide output. Use this option twice for unlimited width.
关于java - 在 Linux 中不使用 sudo 查找进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308517/