解决方法
默认情况下,系统进程可能意味着“守护进程”,如httpd,nfsd等. ps输出中的TTY列是?对于守护进程.因此,为了排除这些,您可能需要根据您的知识在shell / perl中编写脚本
这里我假设tty为第2列,因此根据您的输出,您可能想要更改它.
Perl的:
@H_403_13@#!/usr/bin/perl use strict; use warnings; open (PS,'ps aux |') or die "command can't execute $!"; # Runs command using pipe while(<PS>){ # Run through pipe line by line my $ttycol=(split) [2]; # get tty column from ps output if($ttycol ne '?'){ # If col is ? then it's a daemon print $_; # if not print } } close(PS);然后像“perl script.pl”一样运行它.
贝壳:
使用lain的输入,同样可以在shell脚本中实现
ps -ef | awk’$6!=“?” {打印}’