Назад | Перейти на главную страницу

как увидеть статус процесса с полной информацией

Запускаю скрипт - my_script.ksh как процесс с 5 длинными аргументами

на моей машине solaris / linux (пример 1),

Позже я проверяю процесс

 ps -ef | grep  my_script.ksh 

Я не понимаю, почему я не получил всех аргументов от ps -ef ? , (см. пример 2)

или, может быть, команда ps имеет ограничение на отображение длинной строки? , или, может быть, нужно написать команду ps с некоторыми флагами, которые позволят отображать все аргументы?

что нужно сделать, чтобы увидеть все аргументы из ps -ef команда?

Пример 1 ( бегать my_script.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     

В Solaris попробуйте использовать /usr/ucb/ps -auxwww | grep my_script.sh вместо. Это покажет полную командную строку и аргументы процесса. Для Linux просто используйте ps aux.

Также попробуйте поэкспериментировать с принудительным отображением определенных полей только ps, например ps -ao comm,args отобразит команду и ее аргументы.

Немного времени, проведенного в man ps должен привести вас на верный путь.

/usr/ucb/ps устарела и больше не устанавливается по умолчанию в текущих выпусках Solaris.

ps -ao comm,args будет иметь ту же проблему, то есть командная строка усечена до 80 символов по дизайну.

Вот поддерживаемое альтернативное решение:

pargs $(pgrep my_script.sh)