LinuxForum.Fans
Тема

Запуск 2х процессов

Автор: 1000Mhz 4 сообщений 1715 просмотров
18.01.2015 23:11 #410092

- так, чтобы при завершении (kill`ом например) первого был завершен и второй.
Вроде детский вопрос, но можно такое сделать без всяких проверок в цикле?

text
#!/bin/sh
process1
process2
killall process1

- это при условии что процессы не отсоединяются от терминала. Ну да, я туплю.

18.01.2015 23:18 #410096

Вы бы объяснили более связно, что вы хотите, и как они должны зависеть друг от друга. А то непонятно куда вы клоните.
И из командной строки - это обязательно? Мне, например, проще всего сконфигурировать пару связанных сервисов для systemd :-)

18.01.2015 23:56 #410111

1000Mhz, если именно bash-скриптом нужно реализовать, тогда обработку сигналов используй. В случае, если процесс1 убивается, перед смертью он убивает процесс2.

Вроде того

text
#!/bin/bash

function kill_other() { killall process2 exit }

trap "kill_other" KILL

killall process1 приведет и к killall process2

з.ы. только это, скорей всего, можно смело в рубрику "вредных советов и быдлокода" записывать, массовые killall это, имхо, не комильфо :)

19.01.2015 00:08 #410117

Я забыл про то, что есть trap, ыыы.

"s.xbatob" написал:
Вы бы объяснили более связно, что вы хотите, и как они должны зависеть друг от друга.

Да легко! Есть графическое приложение, дополнительно к нему нужно запускать еще один демон. Когда я закрываю приложение, запущенный демон становится не нужен - не мешает конечно, но нафига ему болтаться в процессах? Вот и киляю его.

Войдите или зарегистрируйтесь, чтобы ответить.