Ubuntu: Есть ли разница в том, чтобы убить дочерний процесс, когда дочерний процесс выполняется на переднем или заднем плане? - PullRequest
1 голос
/ 21 апреля 2020
  1. Открыть терминал
  2. Открыть второй терминал
  3. Выполнить команду «$ xlo go» в терминале sceond
  4. Узнать родительский процесс xlo go в первом терминале
    (я выясняю, что "bash" является родительским процессом)
  5. Завершить родительский процесс xlo go в первом терминале
    ( Команда: $ kill -9 PID родительского процесса )
    В этот момент "xlo go" и второй терминал исчезли .
  6. Откройте третий терминал.
  7. Выполните команду "$ xlo go &" на третьем терминале (пусть xlo go работает в фоновом режиме)
    enter image description here
  8. Определить родительский процесс xlo go в первом терминале
    ( Команда: $ kill -9 PID родительского процесса )
    В этот момент "xlo go" еще жив, но третий терминал пропал.
    Путем исключения команды "$ pstree", я считаю, что "xlo go" bel ongs к "systemd".
    enter image description here

Вопросы:
a) Почему "xlo go" был убит своим родительским процессом, когда «xlo go» выполнялся на переднем плане?
b) Почему «xlo go» все еще жив и не d ie с его родительским процессом, когда «xlo go» "бегал в фоновом режиме?

Я долго искал на net. Но ничего не получите.
Может кто-нибудь попытаться дать несколько идей о том, как это объяснить?

thx

...