У меня должен быть сценарий, выполняются (удар или жемчуг или php, любой сделает), другая команда, и затем выйдите, в то время как другая команда все еще работает и выходит самостоятельно. Я мог запланировать через при команде, но был любопытен, если бы был более легкий путь.
#!/bin/sh
your_cmd &
echo "started your_cmd, now exiting!"
Подобные конструкции существуют для perl и php, но в sh / bash очень легко запустить другую команду в фоновом режиме и продолжить.
править
Очень хорошим источником для общих манипуляций с процессами являются все сценарии запуска в /etc/init.d
. Они выполняют всевозможные хитрые уловки, такие как отслеживание идентификаторов идентификаторов, выполнение базовых команд запуска / остановки / перезапуска и т. Д.
&
?
#!/usr/bin/bash # command1.sh: execute command2.sh and exit command2.sh &
Пока вы упомянули Perl:
fork || exec "ls";
... где «ls» вообще что угодно. Повторите столько команд, сколько вам нужно, чтобы выстрелить.
Чтобы запустить команду в фоновом режиме, к ней можно добавить символ '&'.
Если вам нужно, чтобы программа работала до окончания сеанса входа в систему, вы можете использовать nohup.
См. аналогичное обсуждение на stackoverflow: как запустить команду в фоновом режиме ...
Обычный способ запустить команду и сохранить ее выполнение после выхода из системы - использовать nohup (1)
. nohup
предотвращает получение данной командой сигнала HUP при выходе из оболочки. Вам также необходимо работать в фоновом режиме с помощью суффикса команды амперсанд (&).
$ nohup some_command arg1 arg2 &
Я не совсем уверен, что это то, что вы ищете, но вы можете фоновый процесс, выполняемый в оболочке, добавив символ амперсанда (&) в качестве последнего символа команды.
Итак, если у вас есть сценарий, a.sh
и a.sh должны запускать отдельный процесс, например, выполнить сценарий b.sh, вы должны:
b.sh &