1

Есть ли способ получить полный вывод ps на Cygwin?

Например, ни одно из следующего не дает мне полную строку оболочки wget , просто /usr/bin/wget:

$ ps -ef | grep wget
Administ    9844    7780 pty1     13:22:57 /usr/bin/wget
Administ    8036   12648 pty0     13:18:15 /usr/bin/wget
Administ    4832   11828 pty2     13:23:42 /usr/bin/wget

$ ps awx | grep wget
     9844    7780    9844      10264  pty1      197108 13:22:57 /usr/bin/wget
     8036   12648    8036      10060  pty0      197108 13:18:15 /usr/bin/wget
     4832   11828    4832      10780  pty2      197108 13:23:42 /usr/bin/wget

$ ps -p 9844 | cat
      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND
     9844    7780    9844      10264  pty1      197108 13:22:57 /usr/bin/wget

2 ответа2

3

Как видно из руководства cygwin ps командная строка не сообщается.

Однако он доступен в /proc /process_PID /cmdline

1

Это печатает все процессы Cygwin и его командную строку, но без пробелов:

grep -a "" /proc/*/cmdline

-a говорит grep показывать содержимое двоичных файлов (cmdline - двоичный, а не текстовый)

«Скажите, чтобы соответствовать всем. Вы можете заменить его на название интересующего вас процесса

$ grep -a "" /proc/*/cmdline /proc/10236/cmdline:/usr/bin/mintty-i/Cygwin-Terminal.ico- /proc/11340/cmdline:-bash /proc/11672/cmdline:sshslavik@dev.slavikf.local ...

если вы хотите сохранить пробелы в командной строке, сделайте это:

grep -a "" /proc/*/cmdline | xargs -0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .