У меня есть сценарий bash, в котором я хочу запускать некоторые несвязанные команды в разветвленных процессах. Эти команды должны выполняться только в разветвленном процессе, а другие команды должны выполняться только в родительском.Bash forking the subshell
echo "I am parent statement 1"
(echo "I am child statement 1"; echo "I am child statement 2"; sleep 30) &
echo "I am parent statement 2"
В этом примере будет родительская оболочка выводить только оператор «родителя», и ребенок эхо только 'ребенок заявления? Или ребенок будет возвращать родительский оператор 2 после возвращения?
Также, родитель будет ждать ребенка (делать сон 30)? Или родительский выход и ребенок продолжат работать в течение 30 секунд?
Почему бы вам не запустить его и не увидеть? Вы можете легко добавить pid в каждое эхо, чтобы увидеть, какой процесс его испускает. – kaylum
Я пробовал - но не понятно, из какого вывода выводится какая-то оболочка. и я не уверен, как отправить какой-то вывод в одно окно, а некоторые в другое – TSG
'echo" $$: Я являюсь родительским выражением 2 ". Это будет использоваться с pid, который поможет вам легко определить, откуда он. – kaylum