ps aux | grep 'process_name' | awk '{print $2}' 如何去掉grep本身
时间: 2023-08-03 15:06:10 浏览: 165
可以使用`grep -v 'grep'`来过滤掉含有`grep`的行,即:
```
ps aux | grep 'process_name' | grep -v 'grep' | awk '{print $2}'
```
这样就能够只输出`process_name`的进程ID了。
相关问题
kill -9 ps aux | grep bcmgpon
这个命令组合看起来像是试图强制终止名为"bcmgpon"的进程。`kill -9`是Unix/Linux系统中的一个信号发送选项,其中-9表示SIGKILL信号,这是一个不可被捕获、无视忽略策略且立即生效的中断信号,通常用于结束非常顽固或者卡住的进程。
`ps aux`用于显示所有用户的进程状态详细信息,包括进程ID(PID)等。
然而,直接将这两个命令放在一起可能导致意想不到的结果。如果`bcmgpon`真的存在并且是问题进程,这样做会立即停止它,但同时也打印出当前所有包含"bcmgpon"关键字的进程列表,因为`grep bcmgpon`会在ps的输出中过滤出包含该字符串行。
正确的用法应该是先用`ps aux | grep bcmgpon`找到你要终止的具体进程ID,然后再用`kill -9 PID`。例如:
```bash
PID=$(ps aux | grep bcmgpon | awk '{print $2}')
if [ ! -z "$PID" ]; then
kill -9 $PID
else
echo "Process with name 'bcmgpon' not found."
fi
```
如何通过process id 查找应用
在Linux系统中,如果你想通过进程ID (PID) 找到对应的应用程序,你可以使用`ps`命令结合其他工具如`grep`或`top`。以下是步骤:
1. 打开终端:`Ctrl+Alt+T`
2. 使用`ps aux`命令列出所有运行中的进程及其详细信息,包括PID、用户名、进程名等。如果PID很大或不清楚,可以加上`-ef`选项获取更详细的列表。
```sh
ps -ef | grep [pid]
```
将"[pid]"替换为你想要查找的实际PID。
3. 如果返回的结果太多,可以用`awk`或`cut`命令提取包含PID和进程名的部分。
```sh
ps -ef | awk '{print $2 " " $10}' | grep [pid]
```
4. `pgrep`也是一个专门用于通过名称查找进程的命令,输入PID同样可行。
```sh
pgrep -f [process_name] | grep [pid]
```
5. 如果你想查看特定应用程序的具体信息,比如`java`进程,可以加上进程名:
```sh
ps -ef | grep java | grep [pid]
```
阅读全文