Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在macos bash中终止进程的脚本不工作:进程id非法_Bash_Macos_Shell_Macos Sierra - Fatal编程技术网

在macos bash中终止进程的脚本不工作:进程id非法

在macos bash中终止进程的脚本不工作:进程id非法,bash,macos,shell,macos-sierra,Bash,Macos,Shell,Macos Sierra,我创建这个函数是为了按部分名称杀死一个进程,将它放入bash_概要文件中,然后执行它。 当我手动一次运行一个命令时,一切正常。 但是当我调用该函数时,它的输出失败:“非法进程id” 输出: kill: illegal process id: i311821 运行 ps -fe | grep '[p]rocessName' 给出: 1543721191 1947 1946 0 9:12上午??0:46.76.././jdk/bin/java-server-da-XX:PermSize=256

我创建这个函数是为了按部分名称杀死一个进程,将它放入bash_概要文件中,然后执行它。 当我手动一次运行一个命令时,一切正常。 但是当我调用该函数时,它的输出失败:“非法进程id”

输出:

kill: illegal process id: i311821
运行

ps -fe | grep '[p]rocessName' 
给出:

1543721191 1947 1946 0 9:12上午??0:46.76.././jdk/bin/java-server-da-XX:PermSize=256m Xrunjdwp:transport=dt_socket,地址=8000,挂起=n,服务器=y-DMonitorDisabled-Xms2048m-Xmx2048m-Dwrapper.port=32000-com.XXX.yy.server.util.Main-b0.0-c默认值 原因是什么?

发现问题: 2美元后的一个空格不见了。修复后,它可以工作:

   ps -ef | grep "[X]XX" | grep -v grep | awk '{print $2 }' | xargs kill -9

ps-fe | grep'[p]rocessName'
的输出添加到您的问题中。1543721191 1947 1946 0 9:12上午??0:46.76.././jdk/bin/java-server-da-XX:PermSize=256m Xrunjdwp:transport=dt_socket,地址=8000,挂起=n,server=y-DMonitorDisabled-Xms2048m-Xmx2048m-Dwrapper.port=32000-com.XXX.YYY.server.util.Main-b0.0.0-c default将您的最后一条评论放在问题中,您可能会得到更易于管理的输出,例如
ps-cA
而不是
ps-fe
也可能需要考虑
pgrep
,具体取决于您的流程如果您试图杀人,您可以使用
pgrep
显著缩短此时间。如果有多个进程具有相同的名称,那么显然您必须进行更多的微调。这将不会产生任何差异。您的错误是由
awk
的输入引起的,而不是由输出引起的。空格不是必需的,也不会改变字段2包含非数字字符(
i
)的事实。我也不相信tge空格是问题所在。但奇怪的是,在添加空间后,事情会正常进行。如果没有它,awk将输出第一个令牌,而不是第二个令牌
   ps -ef | grep "[X]XX" | grep -v grep | awk '{print $2 }' | xargs kill -9