Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
Bash 我如何不显示我可以';不要用'杀人;杀死+;[pid编号]';指挥部?_Bash_Shell_Ps - Fatal编程技术网

Bash 我如何不显示我可以';不要用'杀人;杀死+;[pid编号]';指挥部?

Bash 我如何不显示我可以';不要用'杀人;杀死+;[pid编号]';指挥部?,bash,shell,ps,Bash,Shell,Ps,我在学校从事一个项目“在linux中创建任务管理器” 我使用ps-u[username]-o stat,cmd--sort=-pid | awk'{print$2$3$4}'命令从ps命令获取cmd名称 如果我使用此命令,我会看到如下结果: awk{print$2$3$4} ps-u[username] 当我尝试使用每个进程的pid终止这些进程时,它不会终止它们,因为它们的pid不存在 我怎么能不显示那些awk{print$2$3$4}和ps-u[username] 我想不出任何主意 ps -

我在学校从事一个项目“在linux中创建任务管理器” 我使用
ps-u[username]-o stat,cmd--sort=-pid | awk'{print$2$3$4}'
命令从ps命令获取cmd名称 如果我使用此命令,我会看到如下结果:

awk{print$2$3$4}
ps-u[username]
当我尝试使用每个进程的pid终止这些进程时,它不会终止它们,因为它们的pid不存在

我怎么能不显示那些
awk{print$2$3$4}
ps-u[username]

我想不出任何主意

ps -u [username] -o stat,cmd --sort=-pid | awk '{print $2$3$4}'

您无法杀死它们,因为它们只有在命令运行时才是活动的,这与您用于生成该输出的命令相同

有几种方法可以抑制这些。我认为最简单的方法是在awk脚本中过滤掉它们

ps -u [username] -o stat,cmd --sort=-pid | awk '$2!="awk" && $2!="ps"{print $2$3$4}'

您无法杀死它们,因为它们只有在命令运行时才是活动的,这与您用于生成该输出的命令相同

有几种方法可以抑制这些。我认为最简单的方法是在awk脚本中过滤掉它们

ps -u [username] -o stat,cmd --sort=-pid | awk '$2!="awk" && $2!="ps"{print $2$3$4}'

JNevill的解决方案排除了所有正在运行的
awk
ps
进程。我认为最好在
tty
上排除进程。此外,在如何使用
awk
方面,您还没有获得完整的命令。我用
sed
解决了这个问题

$ ps -u $USER -o stat,tty,cmd --sort=-pid | grep -v `ps -h -o tty $$` | sed -r  's/.*  (.*)$/\1/'
您可以使用以下命令对其进行测试。我在另一个终端打开了
manps

$ ps -u $USER -o stat,tty,cmd --sort=-pid | grep -v `ps -h -o tty $$` | grep -E '(ps|grep)'
S+   pts/14   man ps

缺点是,除了排除
ps
grep
之外,它还排除了您的应用程序

JNevill的解决方案排除了所有正在运行的
awk
ps
进程。我认为最好在
tty
上排除进程。此外,在如何使用
awk
方面,您还没有获得完整的命令。我用
sed
解决了这个问题

$ ps -u $USER -o stat,tty,cmd --sort=-pid | grep -v `ps -h -o tty $$` | sed -r  's/.*  (.*)$/\1/'
您可以使用以下命令对其进行测试。我在另一个终端打开了
manps

$ ps -u $USER -o stat,tty,cmd --sort=-pid | grep -v `ps -h -o tty $$` | grep -E '(ps|grep)'
S+   pts/14   man ps

缺点是,除了排除
ps
grep
之外,它还排除了您的应用程序

我可以问一下ps hotty$$是什么意思吗?我已经更新了我的问题。只是
hotty
不是很具有描述性,它们是选项
-h-o tty
的缩写。您为什么要删除
pts/6
?每次打开终端时,
pts
都会发生变化。昨天我有
pts/14
,今天是
pts/2
。请问
ps hotty$$
是什么意思?我更新了我的问题。只是
hotty
不是很具有描述性,它们是选项
-h-o tty
的缩写。您为什么要删除
pts/6
?每次打开终端时,
pts
都会发生变化。昨天我有
pts/14
,今天是
pts/2