BASH: отправить сигнал SIGTSTP (ctrl + z) - PullRequest
8 голосов
/ 28 марта 2012

Я тороплюсь с часами для задания по программированию, в котором мне приходится одновременно запускать несколько экземпляров одной и той же программы на одной и той же машине.В настоящее время я запускаю экземпляры по одному, нажимая Ctrl + z , чтобы приостановить их, а затем выполняю 'bg% # ', чтобы возобновить выполнение в фоновом режиме.

Это чрезвычайно утомительно и требует много времени каждый раз, когда мне нужно протестировать небольшое изменение в моем приложении, поэтому я хочу написать скрипт bash, который запустит несколько экземпляров для меня, однако я не знаю, каксделать переключение фона в скрипте.

Кто-нибудь может подсказать, пожалуйста, как мне написать простой скрипт, который будет запускать длительную команду, приостанавливать ее и возобновлять в фоновом режиме?

Спасибо

Ответы [ 2 ]

15 голосов
/ 28 марта 2012

Вы хотите просто запустить в фоновом режиме?Например:

mycommand &

Если вы хотите более точный контроль заданий, вы можете эмулировать Ctrl - Z и bg. Control - Z отправляет SIGTSTP ("tty stop") в программу, которая приостанавливает его:

kill -TSTP [processid]

И команда bg просто отправляетэто SIGCONT:

kill -CONT [processid]
3 голосов
/ 28 марта 2012

Ты не. Вы ставите амперсанд после команды.

command1 &
command2 &
command3 &
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...