Какой сценарий от/etc/init.d/запустил процесс?

Вы могли использовать

test -d /var/lib/mysql/tmp && rm -rf /var/lib/mysql/tmp/* || mkdir /var/lib/mysql/tmp

но я предлагаю, чтобы Вы использовали рубин, собственный созданный-ins, чтобы проверить, существует ли каталог, и затем звоните rm … или mkdir … в зависимости от результата теста.

4
06.02.2013, 20:10
2 ответа

Простой способ следовать за цепочкой PPID назад с pstree инструмент:

pstree -p PID

Это покажет все родительские процессы указанного PID, например:

$ pstree 42284
-+= 00001 root /sbin/launchd
 \-+= 00199 jack /sbin/launchd
   \-+= 00254 jack /Applications/iTerm.app/Contents/MacOS/iTerm -psn_0_90134
     \-+= 00309 root login -fp jack
       \-+= 00310 jack -bash
         \--= 42284 jack vim site.txt
3
27.01.2020, 20:58
  • 1
    Кроме тех случаев, когда это не работает, который не является всем этим редким. Многие демоны запускаются с двойного ветвления (сценарий разветвляет средство запуска, которое разветвляется, поток демона затем выходит), таким образом, PPID демона 1 год. –  Gilles 'SO- stop being evil' 07.02.2013, 00:55

Необходимо смочь следовать за цепочкой PPID назад от процесса, которым Вы интересуетесь. Но если, скажем, запущенный B, B запустил C и законченный B, теперь родитель C init (PID 1). К информации о доступе о процессе PID Вы делаете ps -l -pPID.

0
27.01.2020, 20:58

Теги

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