Linux命令`ps ao args`中的`args`具体含义是什么?
关于
ps ao args中args参数的详解 咱们先把这个命令拆开来理解,再聚焦到args上:
先说说命令里的其他选项
-a:正如你在手册里看到的,这个选项会筛选出除了会话领导者(可以参考getsid(2)系统调用的定义)和没有关联终端的进程之外的所有进程。简单说就是帮你缩小显示范围,只看那些和终端相关、非会话领头的进程。-o:这是自定义输出格式的开关,你可以用空格或逗号分隔的关键字列表,指定要显示哪些进程信息列,甚至还能给表头重命名(比如ps -o pid,ruser=RealUser -o comm=Command这种写法)。
重点:args参数到底是什么
args是ps的标准格式说明符里的一个关键字,它的作用是输出进程的完整命令行内容——包括启动进程的原始命令,以及后面跟着的所有参数。举个例子,如果你用python3 my_script.py --debug启动了一个脚本,args列就会显示整串命令;要是有些进程启动后修改了自己的命令行(比如部分守护进程),它也会显示修改后的内容。
用ps ao args执行后,你会看到类似这样的输出:
/usr/bin/bash /usr/bin/python3 my_script.py --debug /usr/sbin/sshd -D
补充:如果你想给
args列换个更清晰的表头,比如改成FullCommand,可以写成ps -o args=FullCommand -a(选项顺序不影响,只要写法正确就行)。
内容的提问来源于stack exchange,提问作者cmal




