我目前正在使用以下命令来获取进程:
ps -xa | grep node
结果如下:
13611 ? Sl 0:03 /opt/brackets/Brackets-node /opt/brackets/node-core
20713 pts/1 Sl 0:00 node --harmony app.js
20838 pts/1 S+ 0:00 grep node
我使用该命令kill -9 20713
来终止该node --harmony app.js
进程。
我怎样才能node --harmony app.js
用一个命令一次杀死所有进程?我厌倦了每次都输入进程号。
答案1
使用pkill
:
pkill node
这也会与其他命令匹配,因此对其进行微调:
pkill -f "node --harmony app.js"
这与完整命令行(-f
)完全匹配,因此它应该只会命中所需的命令。
答案2
您可以使用killall
。最简单的语法是:
killall "Process_name"
对于你来说:
killall "node --harmony app.js"
优点killall
是它将匹配精确的名称,因此不存在不必要地终止其他进程的机会。
虽然您可以使用-r
选项将该过程表达为类似这样的正则表达式模式pkill
。
查看man killall
了解更多信息。
答案3
对其使用别名和您自己的“命令词”。
EGgo 到你的主目录并创建文件 .bash_aliases
将以下文本放入文件中
alias nerdalert='pkill -f "node --harmony app.js"'
然后在您的主文件夹中搜索您的 .bashrc 以查找此部分并确保它没有被注释掉。
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
现在在终端中输入
source /home/${USER}/.bash_aliases
并尝试你的全新“命令”,又名别名
nerdalert
好好享受吧^^