LINUX.ORG.RU

дополнительные действия при форке программы в шелле

 


1

2

существует ли способ проверить программно, была ли прога запущена типа

myprog a r g s
или так:
myprog a r g s &
?

поскольку вероятный ответ - нет, вопрос: можно ли настроить шеллы, чтобы при «&» они устанавливали какую-нибудь переменную среды, или добавляли дополнительный аргумент, или еще как?

★★★★★

Последнее исправление: MyTrooName (всего исправлений: 1)

Ответ на: комментарий от anonymous

я тут в матчасти не силен, правильно понимаю, что можно сделать так:

if(tcgetpgrp(1) == getpgrp())
?

MyTrooName ★★★★★
() автор топика
Последнее исправление: MyTrooName (всего исправлений: 1)
(sleep 30 ; beep) &

А далее на вкус:

echo "$!"
jobs -p
Umberto ★☆
()
Ответ на: комментарий от minakov

как всегда, велосипед придумываю.

софтина отправляет задание на сервер, хочу, чтоб если вызвана без &, она ждала, когда задание будет выполнено, и по Ctrl-C отменяла его

MyTrooName ★★★★★
() автор топика
Ответ на: комментарий от MyTrooName

лучше добавь опцию по которой программа будет сама детачиться и уходить в «bg», это самый труёвый и ожидаемый вариант.

mashina ★★★★★
()
Ответ на: комментарий от MyTrooName

но опцию, которая явно задает поведение join/detach, пожалуй, добавлю

MyTrooName ★★★★★
() автор топика

wait или trap на SIGCHLD, хотя я вообще не понимаю, что ты хочешь.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.