"set --" 命令解析终端上 "ps" 命令的输出
"set --" command to parse output of "ps" command on terminal
我尝试使用 "set --" 获取进程的 pid,如下所示:
说一个进程是用命令启动的:java -jar someProg.jar
在 shell 脚本中,我可以使用这种方式获取 processId:
#
pid_=$(ps -axf | grep someProg | grep -v grep)
set -- $pid_
echo
#
现在,我尝试通过如下命令在终端上获取 pid:
ps -axf | grep someProg | grep -v grep | set -- | echo
但是我什么也没得到。
如何在终端上使用 set -- 命令获取输出 pid。
谢谢
那
呢
ps -axf | grep someProg | grep -v grep | awk '{print }'
它显示 someProg
进程的 PID...
您既不能通过管道输入 set
,因为它不支持它,也不能使用像 xargs
这样的工具,因为 set
是内置的。
这就是您所能做的:
set -- $(ps -axf | grep someProg | grep -v grep) ; echo
顺便说一句:你也不能通过管道输入 echo
。
我尝试使用 "set --" 获取进程的 pid,如下所示:
说一个进程是用命令启动的:java -jar someProg.jar
在 shell 脚本中,我可以使用这种方式获取 processId:
#
pid_=$(ps -axf | grep someProg | grep -v grep)
set -- $pid_
echo
#
现在,我尝试通过如下命令在终端上获取 pid:
ps -axf | grep someProg | grep -v grep | set -- | echo
但是我什么也没得到。
如何在终端上使用 set -- 命令获取输出 pid。
谢谢
那
呢ps -axf | grep someProg | grep -v grep | awk '{print }'
它显示 someProg
进程的 PID...
您既不能通过管道输入 set
,因为它不支持它,也不能使用像 xargs
这样的工具,因为 set
是内置的。
这就是您所能做的:
set -- $(ps -axf | grep someProg | grep -v grep) ; echo
顺便说一句:你也不能通过管道输入 echo
。