#1 18.01.2015 20:11:38

1000Mhz
Administrator
Зарегистрирован: 17.08.2014
Сообщений: 816
IP-адрес

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

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

#!/bin/sh
process1
process2
killall process1

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

#2 18.01.2015 20:18:28

s.xbatob
Administrator
Зарегистрирован: 20.11.2014
Сообщений: 229
IP-адрес

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

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

#3 18.01.2015 20:56:22

xxblx
Administrator
Зарегистрирован: 14.05.2011
Сообщений: 3 381
IP-адрес

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

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

Вроде того

#!/bin/bash

function kill_other() {
    
    killall process2
    exit
    
}

trap "kill_other" KILL

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

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

#4 18.01.2015 21:08:58

1000Mhz
Administrator
Зарегистрирован: 17.08.2014
Сообщений: 816
IP-адрес

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

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

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

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

Board footer