我的程序是用C,6个源文件,目的是将这些文件复制到任何其他Linux操作系统计算机,并且(可能是编译,我是新手,所以不知道这里需要什么)在后台运行这个程序。类似的东西:
user@laptop:~$ program
程序在后台运行。要停止程序,请键入 XXX。
有关此的任何提示吗?
提前致谢!
答案 0 :(得分:0)
在您的C程序中加注daemon(0,0);
次。
停止它有点棘手,我想只有一个程序副本在运行。将程序的PID放在一个文件中,编写另一个实用程序(XXX
),从文件中读取PID并将其杀死。
重要:daemon
分叉,在调用守护进程后获取程序的PID。
但也许你太新了,只想用program&
及以后kill
执行你的程序。
答案 1 :(得分:0)
我完全误解了这个问题。你需要shell脚本。
对于文件复制,您可以使用scp
。使用ssh
在其他主机上执行命令。它应该是(未经测试):
pid=`ssh user@host "make >/dev/null 2>&1; nohup ./program; echo $!`
以后你可以用
来阻止它ssh user@host "kill $pid"
答案 2 :(得分:0)
首先,你应该fork()。
在父级中,您应该在子进程中退出 - 您应该处理SIGHUP信号。
以这种方式 - 你有守护进程。