首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于带有名称的进程的bash ps打印信息

关于带有名称的进程的bash ps打印信息
EN

Stack Overflow用户
提问于 2017-04-13 17:08:03
回答 1查看 3.4K关注 0票数 4

我需要打印UID,PID,PPID,PRI,NI,VSZ,RSS,STAT,TTY的时间列使用ps的进程的类型名称。

代码语言:javascript
复制
  GNU nano 2.0.6                                                     
  File: file2                                                                                                                        

  ps o uid,pid,ppid,ni,vsz,rss,stat,tty,time | grep $2  > $1
  cat $1
  echo "enter pid of process to kill:"
  read pid
  kill -9 $pid

但是,当我使用带参数$2 = bash的命令时,它什么也不打印(这个进程存在)

更新

代码语言:javascript
复制
  GNU nano 2.0.6                               
  File: file2  

ps o uid,pid,ppid,ni,vsz,rss,stat,tty,time,command | grep $2 | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9}'  > $1
cat $1
echo "enter pid of process to kill:"
read pid
kill -9 $pid

这对我有用,但实际上这个解决方案IMHO并不是最好的解决方案。我使用阴影列命令,在grep名称之后打印所有列(不包括命令)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-13 18:23:33

你总是可以使用两阶段的方法。

1.)查找想要的PID。为此使用最简单的ps

代码语言:javascript
复制
ps -o pid,comm | grep "$2" | cut -f1 -d' '

ps -o pid,comm只打印两列,如:

代码语言:javascript
复制
67676 -bash
71548 -bash
71995 -bash
72219 man
72220 sh
72221 sh
72225 sh
72227 /usr/bin/less
74364 -bash

因此,这是很容易(噪音-无,没有假触发器)。cut只提取PID。例如

代码语言:javascript
复制
ps -o pid,comm | grep bash | cut -f1 -d' '

版画

代码语言:javascript
复制
67676
71548
71995
74364

2.)现在,您可以使用PIDs标志将找到的ps提供给另一个ps,因此完整的命令如下:

代码语言:javascript
复制
ps -o uid,pid,ppid,ni,vsz,rss,stat,tty,time,command -p $(ps -o pid,comm | grep bash | cut -f1 -d' ')

输出

代码语言:javascript
复制
  UID   PID  PPID NI      VSZ    RSS STAT TTY           TIME COMMAND
  501 67676 67675  0  2499876   7212 S+   ttys000    0:00.04 -bash
  501 71548 71547  0  2500900   8080 S    ttys001    0:01.81 -bash
  501 71995 71994  0  2457892   3616 S    ttys002    0:00.04 -bash
  501 74364 74363  0  2466084   7176 S+   ttys003    0:00.06 -bash

例如,使用$2的解决方案是

代码语言:javascript
复制
ps -o uid,pid,ppid,ni,vsz,rss,stat,tty,time,command -p $(ps -o pid,comm | grep "$2" | cut -f1 -d' ')
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43398040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档