当我这样做时,ps -ef|grep python我得到以下信息:
myusername 4492 2994 0 10:32 pts/0 00:00:01 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver
root 6665 1 0 10:42 ? 00:00:00 /usr/bin/python /usr/lib/system-service/system-service-d
myusername 14051 13497 0 11:28 pts/7 00:00:00 grep --color=auto python
Run Code Online (Sandbox Code Playgroud)
如何仅获取运行该进程的用户、进程的pid和命令,如下面的输出所示?
myusername 4492 /home/myusername/.virtualenvs/myproject/bin/ipython manage.py runserver
root 6665 /usr/bin/python /usr/lib/system-service/system-service-d
Run Code Online (Sandbox Code Playgroud)
Sim*_*mon 16
我猜你正在寻找 -o 参数:
-o 格式:
用户定义的格式。format 是一个以空格分隔或逗号分隔的列表形式的单个参数,它提供了一种指定各个输出列的方法。识别的关键字在下面的标准格式说明部分中进行了描述。标题可以根据需要重命名 (ps -o pid,ruser=RealUser -o comm=Command)。如果所有列标题都为空 (ps -o pid= -o comm=),则不会输出标题行。对于宽标题,列宽将根据需要增加;这可用于加宽列,例如 WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm)。还提供显式宽度控制 (ps opid,wchan:42,cmd)。ps -o pid=X,comm=Y 的行为因人而异;输出可能是名为“X,comm=Y”的一列或名为“X”和“Y”的两列。如有疑问,请使用多个 -o 选项。使用 PS_FORMAT 环境变量根据需要指定默认值;DefSysV 和 DefBSD 是可用于选择默认 UNIX 或 BSD 列的宏。
所以你想要的命令是(Ubuntu):
ps -o uid,pid,cmd -ef|grep python
Run Code Online (Sandbox Code Playgroud)
在 OpenSolaris 下,命令是:
ps -o ruser,pid,comm -ef|grep python
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39932 次 |
| 最近记录: |