HTOP Сортировка столбца CPU% неверно

Если подпроцесс запускается с помощью nohup, он будет продолжать работать после выхода / смерти родительской оболочки, что, в конце концов, является целью команды nohup.

Другая возможность - если сценарий или процесс обрабатывает сигнал (ы) уничтожения (очевидно, не kill -9) и игнорирует его, то, если вы запустите его как фоновую задачу, он не умрет при выходе из текущей оболочки ..

пример:

 #!/bin/bash

 function trap_handler
 {
     echo "SORRY! I am not going down MUAHAHA!"
 }

 trap trap_handler SIGINT SIGTERM SIGHUP 

 while true
 do
      sleep 60
 done

Итак, если я запускаю это как фоновую задачу и пытаюсь ее убить, вот что происходит:

 $ ps -ef | grep test &
 $ jobs
 [1]+  Running                 ./test_trap.sh &
 $ kill %1
 $ Terminated
 SORRY! I am not going down MUAHAH!

 $ jobs
 [1]+  Running                 ./test_trap.sh &

Хорошо, теперь давайте проследим за процессом с другого терминала и посмотрим, что произойдет, когда я выйду из терминала / shell сценарий был запущен из:

 $ pstree -clap 26163
 bash,26163
  └─test_trap.sh,26175 ./test_trap.sh
       └─sleep,26183 60
 ## exited the original terminal window with exit
 $ pstree -clap 26163
 $ 
 $ pstree -clap 26175
 test_trap.sh,26175 ./test_trap.sh
   └─sleep,26185 60

Терминальный процесс больше не существует, но когда я делаю pstree для идентификатора процесса для запущенного test_trap.sh, он и его подпроцессы все еще существуют.

2
20.09.2018, 21:32
2 ответа

У меня была аналогичная проблема в Ubuntu 16.04.5 LTS с htop 2.0.1. Удаление и повторная установка htop устранили проблему. Мои настройки конфигурации могли быть перепутаны, когда я менял настройки в htop.

0
27.01.2020, 22:31

Попробуйте удалить ~/.config/htop/htoprc, мне помогло.

0
27.03.2020, 06:29

Теги

Похожие вопросы