Непоследовательный вывод для init обрабатывает имя с помощью 'PS'

Я нахожусь на Ubuntu 16.04 и следую вдоль "Запуска и Остановки" сервисной главы Библии Linux (9-й выпуск). Я пытаюсь найти, какого init демона я имею (init или systemd) который требует, чтобы я нашел, какой процесс имеет PID 1. Однако я получаю 2 различных результата в зависимости от того, как я выполняю команду...

webmaster@my-site:~$ ps -p1
  PID TTY          TIME CMD
    1 ?        00:00:29 systemd
webmaster@my-site:~$ ps -F -p1
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0  9420  5336   0 Feb23 ?        00:00:29 /sbin/init

Это говорит systemd для PID1 после выполнения первой команды, но /sbin/init для PID1 после выполнения второй команды.

5
задан 17 March 2017 в 06:17

2 ответа

Для Ubuntu 16.04 значение по умолчанию init systemd

~$ ls -l /sbin/init
lrwxrwxrwx 1 root root 20 Oct  3 20:44 /sbin/init -> /lib/systemd/systemd

systemd, один действительно рабочий. -F опция делает ps, печатают точную командную строку (включая аргументы), раньше запускал его.

2
ответ дан 23 November 2019 в 09:31
                        GRUB(GRand Unified Bootloader)
                                       |                                                          
                                       |
                                       |                                                  
                                       V
                                     Kernel
                                       |
                                Hardware check
                                       |
                            -----------------------
                            |init processes start |
                            -----------------------
                                      /|\
                                     / | \
                            SysVinit   |  systemd
                        init scripts   |
                                    Upstart

Позвольте мне попытаться объяснить со схемой выше. Теперь в Ubuntu это запустилось с SysVinit, затем Upstart, и наконец Systemd. Каждый из них обработает initпроцесс, который начинает все вещи Linux и Ubuntu в целом.

Теперь Ubuntu постепенно переезжает от Upstart и в Systemd и ток init контроллер на Гостеприимной Ubuntu. init процесс запускает все вещи (или большинство, поскольку ядро имеет свой собственный процесс, которые не связаны с init), но что дескрипторы или средства управления это init процесс также SysVinit, Upstart, или Systemd в зависимости от Вашей версии Ubuntu. В Вашем случае это - более новое Systemd. Но пустой в памяти, что Вы будете также видеть остатки старой системы, где команды такой как initctl, service и т.д. все еще игра.

Таким образом для подъема начальных системных функций или услуг и выполнения новой Ubuntu теперь использует systemd замена для init daemon из старых. Но для обратной совместимости init все еще выполнения в фоновом режиме.

Согласно man ps, передача -F отметьте вызывает command arguments быть распечатанным. Таким образом, в этом случае команда замечена с:

ps -p 1

#Result
PID TTY          TIME CMD
1 ?        00:00:02 systemd

Затем для наблюдения аргументы передали той команде:

ps -F -p 1

#Result
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0 46414  6336   1 05:48 ?        00:00:02 /sbin/init splash

Так ps -p 1 ==> command, и ps -F -p 1 ==> arguments passed к нему. Длинная короткая история -F Дополнительный полный формат, видя больше информации, которая связана с ps -p 1 или systemd команда. То, что Вы видите, является базовым init процесс, выполненный systemd на Гостеприимной Ubuntu. Примите во внимание TIME:00:00:02, который является тем же для обоих systemd и /sbin/init в обеих формах ps.

Посмотрите на эту страницу, и Вы будете видеть почему /sbin/init обнаруживается когда -F опция используется. Systemd выполнения с PID 1 as /sbin/init.

Источник:

man ps

https://wiki.ubuntu.com/SystemdForUpstartUsers

2
ответ дан 23 November 2019 в 09:31

Другие вопросы по тегам:

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