Почему мои настольные приложения являются дочерними по отношению к PID1

На основании вашего вопроса я бы использовал stat для нормализовать вывод, затем вырезать, чтобы отображалась только желаемая дата.

stat -c '% x' ИМЯ ФАЙЛА | вырезать -c 9,10

2
16.05.2019, 17:39
1 ответ

Из исходного кода i3bar видно, что когда i3bar запускает новое приложение, он делает следующее:

  1. fork()
  2. вызывает setpgid , с новым идентификатором группы = 0 (см. комментарии на справочной странице для этого поведения)
  3. execl()

Таким образом, у нового дочернего процесса должен быть тот же родитель, что и у i3bar, поскольку он продвигается в группу родительских процессов.

Вы можете убедиться в этом, проверив идентификатор группы процессов экземпляра i3bar. Например:

ps axo pid,ppid,pgid,sid,comm | grep i3bar
# See 3rd column

Если i3bar также является дочерним элементом init, это объясняет поведение, которое вы видите.

1
27.01.2020, 22:17

Теги

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