我运行脚本 -我的脚本.ksh作为具有 5 个长参数的过程
在我的 solaris/linux 机器上(示例 1),
后来我通过以下方式验证了这一过程
ps -ef | grep my_script.ksh
我不明白为什么我没有得到所有的论点ps-ef?,(见示例2)
或者也许 ps 命令有显示长行的限制?或者可能需要使用一些标志来编写 ps 命令,以便显示所有参数?
需要做什么才能看到所有参数ps-ef命令 ?
示例 1( 跑步我的脚本.ksh并附上相关论据)
# ( /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/opt/VO/share/conf/nnmet/mib/Fore-pre802dot1Q-VLAN-MIB.mib -scan-files -ignore-simbolic-links -give-full-file-details ) &
[1] 18942
示例 2(验证脚本进程,但看不到所有参数?)
# ps -ef | grep my_script.ksh
root 18942 11889 0 13:22:20 pts/1 0:00 /bin/ksh /tmp/my_script.ksh PATH1=/usr/lib/efcode/sparcv9/efdaemon PATH2=/etc/o
答案1
在 Solaris 上,请尝试使用/usr/ucb/ps -auxwww | grep my_script.sh
。这将显示进程的完整命令行和参数。对于 Linux,只需使用ps aux
。
还可以尝试强制仅通过显示某些字段ps
,例如ps -ao comm,args
将显示命令及其参数。
花一点时间man ps
应该会让你走上正确的道路。
答案2
/usr/ucb/ps
已被弃用,并且在当前的 Solaris 版本中不再默认安装。
ps -ao comm,args
将会遇到同样的问题,即命令行在设计上被截断为 80 个字符。
以下是受支持的替代解决方案:
pargs $(pgrep my_script.sh)