Как я могу узнать, выполняется ли процесс в фоновом режиме или на переднем плане в командах "ps" или "ps -ef"? - PullRequest
0 голосов
/ 01 июня 2019

Как узнать, запущен ли процесс в фоновом или переднем плане в командах "ps" или "ps -ef"?

Сначала я подумал, что когда я набираю ps -ef, появляется раздел с именем TTY.

когда я просматриваю список TTY, большинство из них - '?' (вопросительные знаки)

Интересно, означает ли этот вопросительный знак процесс, работающий в фоновом режиме

Я хочу проверить, прав ли я!

Если нет, я хочу знать, как узнать, работает ли процесс в фоновом режиме или на переднем плане

пс. commnand "jobs" здесь не используется

1 Ответ

0 голосов
/ 01 июня 2019

Мне нравится этот вопрос, и у меня есть искаженное решение для перечисления ps информации о фоновых заданиях / процессах.

По определению задания / фонового процесса.Это списки с помощью команды jobs -l.

  1. Сохранение pid фоновых заданий в списке

    echo "$(jobs -l)" | awk '{print $2}' > jobs.lst
    
  2. Пересечение списка заданий с текущимиprocess

    ps -eo pid,args | grep -f jobs.lst
    

Вывод ps -eo pid,args результат для фоновых заданий.

Предоставление идентификатора и аргументов командной строки для фоновых заданий.

PS

Я использовал ps параметр вывода -o, чтобы перечислить только pid и args.Измените его по своему вкусу, но убедитесь, что pid есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...