gpt4 book ai didi

linux - 连接多个命令的输出并将它们用作另一个命令的输入

转载 作者:行者123 更新时间:2023-12-03 09:55:21 26 4
gpt4 key购买 nike

我试图弄清楚如何获取多个进程的 pid 列表:

pidof proc1

1234 4321 7665

pidof proc2

3312 445

并获取所有这些pid,其中有多个进程的多个实例并将它们组合起来,然后将它们全部输入到kill命令中。由于 kill 可以将多个 pids 作为输入,我希望我可以在没有 for-each 循环的情况下做到这一点:
kill -SIGKILL echo $(pidof proc1; pidof proc2)

但我只收到“bash:kill:echo:arguments must be process or job IDs”错误消息。
我对 bash 脚本很陌生,所以我确定我没有想到一些明显的东西。

最佳答案

摆脱echo .这是不必要的并且是错误消息的原因,因为单词 echo不是PID。

kill -SIGKILL $(pidof hsd-tab; pidof firefox-browser)

更好, pidof可以采用多个程序名称:
kill -SIGKILL $(pidof hsd-tab firefox-browser)

更好的是,使用 pkill按名称杀死程序。就像 kill + pidof .
pkill -SIGKILL hsd-tab firefox-browser

尽量避免使用 -SIGKILL 杀死程序或 -9除非你绝对必须。它没有给他们机会彻底关闭。这几乎总是矫枉过正,是一个坏习惯。我会去:
pkill hsd-tab firefox-browser

关于linux - 连接多个命令的输出并将它们用作另一个命令的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62034337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com