2012-11-28 5 views
1

Моего вопроса очень похож на Отвечали в: How do I put an already-running process under nohup?Как поместить уже запущенный процесс РЕБЕНКА под поЬир

, что я выполняю foo.sh из моей командной строки, и это, в свою очередь выполняет другой сценарий, и скоро. Например:

foo.sh 
\_ bar.sh 
    \_ baz.sh 

Теперь я нажимаю Ctrl + Z, чтобы приостановить действие "foo.sh". Он указан в моих «рабочих местах -l».

Как отредактировать baz.sh так, чтобы он больше не был внуком foo.sh? Если я наберу «disown», то только foo.sh будет отстранен от своего родителя, что не совсем то, что я хочу. Я бы хотел убить процессы foo.sh и bar.sh и остался только с baz.sh.

Мое настоящее обходное решение - «убить -18» (резюме) baz.sh и продолжить работу, но я бы предпочел убить вышеупомянутые процессы. Благодарю.

ответ

1

Используйте ps, чтобы получить PID bar.sh, и убейте его.

imac:barmar $ ps -l -t p0 -ww 
    UID PID PPID  F CPU PRI NI  SZ RSS WCHAN  S  ADDR TTY   TIME CMD 
    501 3041 3037  4006 0 31 0 2435548 760 -  Ss 8c6da80 ttyp0  0:00.74 /bin/bash --noediting -i 
    501 68228 3041  4006 0 31 0 2435544 664 -  S  7cbc2a0 ttyp0  0:00.00 /bin/bash ./foo.sh 
    501 68231 68228  4006 0 31 0 2435544 660 -  S  c135a80 ttyp0  0:00.00 /bin/bash ./bar.sh 
    501 68232 68231  4006 0 31 0 2435544 660 -  S  a64b7e0 ttyp0  0:00.00 /bin/bash ./baz.sh 
    501 68233 68232  4006 0 31 0 2426644 312 -  S  f9a1540 ttyp0  0:00.00 sleep 100 
    0 68243 3041  4106 0 31 0 2434868 480 -  R+ a20ad20 ttyp0  0:00.00 ps -l -t p0 -ww 
imac:barmar $ kill 68231 
./foo.sh: line 3: 68231 Terminated    ./bar.sh 
[1]+ Exit 143    ./foo.sh 
imac:barmar $ ps -l -t p0 -ww 
    UID PID PPID  F CPU PRI NI  SZ RSS WCHAN  S  ADDR TTY   TIME CMD 
    501 3041 3037  4006 0 31 0 2435548 760 -  Ss 8c6da80 ttyp0  0:00.74 /bin/bash --noediting -i 
    501 68232  1  4006 0 31 0 2435544 660 -  S  a64b7e0 ttyp0  0:00.00 /bin/bash ./baz.sh 
    501 68233 68232  4006 0 31 0 2426644 312 -  S  f9a1540 ttyp0  0:00.00 sleep 100 
    0 68248 3041  4106 0 31 0 2434868 480 -  R+ 82782a0 ttyp0  0:00.00 ps -l -t p0 -ww 

 Смежные вопросы

  • Нет связанных вопросов^_^