如何通过指定进程名称来获得进程的PID,并将其存储在variables中以便进一步使用?
通过使用“ucbps”命令我能够得到所有的PID
$ ucbps Userid PID CPU % Mem % FD Used Server Port ========================================================================= 512 5783 2.50 16.30 350 managed1_adrrtwls02 61001 512 8896 2.70 21.10 393 admin_adrrtwls02 61000 512 9053 2.70 17.10 351 managed2_adrrtwls02 61002
我想这样做,但不知道该怎么做
- variables=通过进程名得到进程的PID。
- 然后使用这个命令kill -9variables。
如果你想杀死-9基于一个string(你可能想先尝试杀死),你可以做这样的事情:
ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}'
这将告诉你什么你要杀(非常非常重要),只要sh
到时候执行时间:
ps axf | grep <process name> | grep -v grep | awk '{print "kill -9 " $1}' | sh
pids=$(pgrep <name>)
将会给你带有给定名字的所有进程的pid。 杀死他们,使用
kill -9 $pids
避免使用一个variables,并直接杀死具有给定名称问题的所有进程
pkill -9 <name>
在一条线上…
pgrep -f process_name | xargs kill -9
另一种可能性是使用pidof
它通常与大多数发行版一起提供。 它会通过使用它的名称返回给定进程的PID。
pidof process_name
这样你可以将这些信息存储在一个variables中,并执行kill -9
。
#!/bin/bash pid=`pidof process_name` kill -9 $pid