Запуск программы в фоновом режиме - PullRequest
0 голосов
/ 23 июля 2011

Я получил свою программу на C, 6 исходных файлов, и цель состоит в том, чтобы скопировать эти файлы на любой другой компьютер с ОС Linux и (возможно, скомпилировать, im newbie, поэтому не уверен, что здесь нужно) запустить эту программу в фоновом режиме , Что-то вроде:

user@laptop:~$ program 

Программа работает в фоновом режиме. Чтобы остановить программу, введите XXX.

Какие-нибудь советы по этому поводу?

Заранее спасибо!

Ответы [ 3 ]

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

Я совершенно не понял вопроса.Для этого вам нужны сценарии оболочки.

Для копирования файлов вы можете использовать scp.Выполните команду на другом хосте с ssh.Это должно быть что-то вроде (не проверено):

pid=`ssh user@host "make >/dev/null 2>&1; nohup ./program; echo $!`

позже вы можете остановить его с помощью

ssh user@host "kill $pid"
0 голосов
/ 29 июля 2011

Во-первых, вы должны fork ().

В parent вы должны просто выйти, в дочернем процессе - вы должны обработать сигнал SIGHUP.

Таким образом - у вас есть демон.

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

Поместите вызов daemon(0,0); в вашу программу на Си.

остановить его немного сложнее, я полагаю, что запущена только одна копия программы.Поместите PID программы в файл, напишите другую утилиту (XXX), которая считывает PID из файла и убивает его.

Важно: daemon вилки, получите PID программы после вызова демона.

Но, возможно, вы слишком новичок и просто хотите выполнить свою программу с program&, а затем kill it.

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