使用 awk 捕获多行输出的第一行?

发布于 2024-11-15 02:01:44 字数 243 浏览 3 评论 0原文

我有这个输出,它是与 fcgi 的 grep 匹配运行的所有进程的 PID:

# ps ax | grep fcgi | cut -f1 -d' '
21065
21066
21067
21068
21069
21070
24801

我想剪掉第一个数字(即 21065),这样我可以将它传递给kill函数来杀死父进程(父进程)作为第一个 PID 返回)。

关于如何做到这一点有什么想法吗?

I have this output, which is the PID of all processes running matching a grep for fcgi:

# ps ax | grep fcgi | cut -f1 -d' '
21065
21066
21067
21068
21069
21070
24801

I want to cut out the very first number (i.e. 21065) so I can pass it to the kill function to kill the parent process (the parent process is returned as the first PID).

Any ideas on how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

纵山崖 2024-11-22 02:01:44

不要使用 ps ax | grep... 来终止进程(如果可以避免的话)。请参阅此处

而是使用 pidof

Don't use ps ax | grep... to kill a process, if you can avoid it. See here

Instead use pidof

他不在意 2024-11-22 02:01:44

使用:

获取pid号

PARENT_PID=`ps ax | grep fcgi | cut -f1 -d' ' | head -1`

直接kill:

kill `ps ax | grep fcgi | cut -f1 -d' ' | head -1`

Use:

to get the pid number

PARENT_PID=`ps ax | grep fcgi | cut -f1 -d' ' | head -1`

to directly kill:

kill `ps ax | grep fcgi | cut -f1 -d' ' | head -1`
梦里兽 2024-11-22 02:01:44

无需跳过所有内容运行 psgrepcuthead杀死你自己。这就是 pkill 的用途。

pkill fcgi

另请参阅 pgrep 以供将来参考。

There is no need to jump through all the hoops of running ps, grep, cut, head, and kill yourself. That's what pkill is for.

pkill fcgi

Also see pgrep for future reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文