Как найти идентификатор процесса команды, запущенной в другом терминале?

Если я запустил sleep 30 в одном окне PuTTY, как я могу найти идентификатор процесса команды sleep из другого окна PuTTY?

  • Список, подключенный через пользователей SSH
  • В чем смысл этого тестового выражения ?
  • Могу ли я получить WCHAN от ps на Mac OS X 10.7.4?
  • Сортировка вывода `ps`
  • Грепление переменной
  • Почему «ps -p proc1 proc2 proc3» показывает «-csh», «-tcsh» и «- / bin / tcsh», тогда как «ps -p proc » индивидуально все говорят «tcsh»?
  • Как смотреть pgrep?
  • Как получить целую командную строку из процесса?
  • 2 Solutions collect form web for “Как найти идентификатор процесса команды, запущенной в другом терминале?”

    Команда pgrep

    Если в вашем дистрибутиве установлена ​​команда pgrep (например, из пакета procps ), вы можете использовать команду для поиска идентификаторов процессов по шаблону. Например:

     # Find the sleep commands belonging to the current user. pgrep -u $LOGNAME sleep 

    Эта команда найдет все совпадения, принадлежащие текущему пользователю, независимо от того, был ли процесс запущен в текущем терминале или другом, поэтому он будет работать для вашего варианта использования PuTTY.

    Тестирование команды pgrep

    Вы также можете проверить это на одном TTY или PTY. Рассматривать:

     $ sleep 30 & pgrep -u $LOGNAME sleep [1] 24021 24021 

    В этом примере сон помещается в фоновый режим, а Bash сообщает идентификатор задания и идентификатор заданного задания. Затем pgrep находит тот же PID в списке процессов и отправляет PID на стандартный вывод. Очевидно, цифры должны совпадать.

    Несколько совпадений

    Обратите внимание: если текущий пользователь имеет более одной команды ожидания, то pgrep будет правильно сообщать о нескольких PID. Например, следующее возвращает PID для фоновых заданий %1 и %2 :

     $ sleep 30 & sleep 30 & pgrep -u $LOGNAME sleep [1] 24063 [2] 24064 24063 24064 
     ps -u "your_login" | grep "sleep" | awk '{print $1}' 
    Linux и Unix - лучшая ОС в мире.