как выполнять программы неблокирующим образом из скриптов - PullRequest
5 голосов
/ 12 июля 2011

У меня есть ряд программных файлов: a.out, b.out, c.out

Я хочу выполнять их один за другим после некоторой задержки между каждой программой.например
./a.out -входные параметры
---- ожидание в течение 50 секунд ----
./b.out -входные параметры
----- ожидание в течение 100 секунд----
./c.out

Я хочу выполнить b.out через 50 секунд после того, как a.out начал выполнение, но неблокирующим способом, т.е. я не хочу ждать50 секунд после того, как a.out завершил выполнение.

Может кто-нибудь предложить способы сделать это в Linux, поскольку я помещаю это в скрипт, который автоматизирует задачи для меня

Ответы [ 3 ]

7 голосов
/ 12 июля 2011

Вы хотите фоновые процессы :

./a.out -parameters & 
sleep 50 
./b.out -parameters & 
sleep 100 
./c.out &

Фоновые процессы выполняются без блокировки вашего терминала;Вы можете управлять ими ограниченным образом с помощью jobs.

1 голос
/ 12 июля 2011

Чтобы запустить его в фоновом режиме, вы можете использовать a.out &.

Для тайм-аута рассмотрим Тайм-аут команды в bash без ненужной задержки .

0 голосов
/ 12 июля 2011

Вы можете использовать скрипт Bash и программу sleep :

#!/bin/bash
./a.out -input parameters
sleep 50
./b.out -input parameters
sleep 100
./c.out
...