Некоторые программы сразу возвращаются при запуске из командной строки, Firefox, например. Большинство утилит (и все программы, которые я записал) связывается с оболочкой, которая создала их. Если Вы управляете-c командной строкой, мертвыми программы.
Что необходимо добавить к программе или сценарию оболочки для получения поведения возврата сразу? Я предполагаю, что задаю два вопроса там, один для сценариев оболочки и один для генерала, если они отличаются. Мне особенно было бы интересно знать, существует ли способ заставить исполняемую банку делать это.
Я почти смущен, чтобы попросить, что один, но я не могу найти ответ сам.
Спасибо!
Для исполняемой программы (в отличие от скрипта оболочки) на Linux/Unix используйте fork() и exec(), а затем выйдите из родительского процесса, который вернется в оболочку. Подробности смотрите на man-страницах или на какой-нибудь странице типа http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html.
start cmd
на Windows,
cmd &
на * Nux
здесь заменяет
cmd = java -jar JarFile.jar
на * Nux FG и BG Команды - ваши друзья Также ...
Оберточный скрипт, состоящий только из:
your_prog_or_script &
запускает цель и немедленно выходит. Вы можете добавить nohup
в начало этой строки, чтобы он продолжал работать, если оболочка выйдет из строки.
Вам необходимо в основном необходимость вилить процесс или создать новый поток (или притворяться)
в * Nux, вы можете сделать это с помощью &
После команды, как это / Long / Script &
или в Windows, вы можете создать пакетный файл, который выполняет ваши процессы, затем выходит (это делает это естественно).
Примечание. Нет особого хорошего способа ссылаться на этот процесс после того, как вы его развесывали, в основном только PS
для списка процессов. Если вы хотите увидеть, что делает процесс, проверить, используя экран
(другая команда Linux), которая запускает сеанс для вас и позволит вам «повторно прикрепить» к экрану.
Для этого установите экран ( Sudo APT-Get Установить экран
или Экран установки yum
). Затем введите Экран
, чтобы создать новую сеанс (Примечание, это будет выглядеть так, как вы ничего не делали). Затем запустите / Long / Command
(без &
), затем нажмите Ctrl + A + D
(в то же время), чтобы отсоединить от него ( Это все еще работает!). Затем, когда вы хотите повторно прикрепить, введите экран -R
.
Кроме того, ищите флаги в любом сообщении справки, позволяющие сделать это без использования вышеуказанных вариантов (например, в Synergy
Вы можете сказать Synergy - Background
)