Как получить список программ, работающих с nohup

Я обращаюсь к серверу под управлением CentOS (дистрибутив linux) с SSH-соединением. Поскольку я не всегда могу оставаться в системе, я использую "nohup [command] &" для запуска своих программ.

Я не мог найти, как получить список всех программ, которые я начал использовать nohup. "работа" работает только до того, как я выхожу из системы. После этого, если я снова войду в систему, команда jobs ничего мне не покажет, но я вижу в своих файлах журнала, что мои программы все еще работают.

есть ли способ получить список все программы, которые я начал использовать "nohup и" ?

5 ответов


когда я начал с $ nohup storm dev-zookeper ,

METHOD1: используя jobs,

prayagupd@prayagupd:/home/vmfest# jobs -l
[1]+ 11129 Running                 nohup ~/bin/storm/bin/storm dev-zookeeper &

метода Method2 : используя .

$ ps xw
PID  TTY      STAT   TIME COMMAND
1031 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
10582 ?        S      0:01 [kworker/0:0]
10826 ?        Sl     0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto
10853 ?        Ss     0:00 sshd: vmfest [priv] 

столбец телетайп с ? =>nohup запущенные программы.

описание

  • столбец TTY = терминал, связанный с процессом
  • столбец STAT = состояние процесса
    • S = прерывистый сон (ожидание завершения события)
    • l = многопоточен (используя CLONE_THREAD, как и nptl pthreads)

ссылка

$ man ps # после поиска /PROCESS STATE CODES


вместо nohup, вы должны использовать screen. Он достигает того же результата - ваши команды работают "отдельно". Тем не менее, вы можете возобновить сеансы экрана и вернуться в свой "скрытый" терминал и увидеть недавний прогресс внутри этого терминала.

screen есть много вариантов. Чаще всего я использую такие:

чтобы начать первый сеанс экрана или взять на себя последний отдельный:

screen -Rd 

для отсоединения от текущей сессии: Ctrl+ACtrl+D

вы также можете запустить несколько экранов - читайте документы.


если у вас есть стандартный вывод перенаправить на "nohup.out " просто посмотрите, кто использует этот файл

lsof | grep nohup.out

вы не можете точно получить список команд началось с nohup но вы можете увидеть их вместе с другими процессами с помощью команды ps x. Команды начинались с nohup будет иметь знак вопроса в столбце TTY.


вы также можете просто использовать верхнюю команду, и Ваш идентификатор пользователя будет указывать выполняемые задания и их время.

$ top

(это покажет все запущенные рабочих мест)

$ top -U [user ID]

(Это покажет задания, которые специфичны для идентификатора пользователя)