Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 后台运行程序_C_Linux - Fatal编程技术网

C 后台运行程序

C 后台运行程序,c,linux,C,Linux,我的程序是用C语言编写的,有6个源文件,目的是将这些文件复制到任何其他Linux操作系统计算机上,并且(可能是编译,我是新手,所以不确定这里需要什么)在后台运行这个程序。比如: user@laptop:~$ program 程序正在后台运行。要停止程序,请键入 XXX 有什么建议吗 提前谢谢 放置一个守护进程(0,0)调用你的C程序 停止它有点棘手,我想程序只有一个副本在运行。将程序的PID放入一个文件中,编写另一个实用程序(XXX),从文件中读取PID并将其终止 重要提示:daemonfo

我的程序是用C语言编写的,有6个源文件,目的是将这些文件复制到任何其他Linux操作系统计算机上,并且(可能是编译,我是新手,所以不确定这里需要什么)在后台运行这个程序。比如:

user@laptop:~$ program 
程序正在后台运行。要停止程序,请键入 XXX

有什么建议吗

提前谢谢

放置一个
守护进程(0,0)调用你的C程序

停止它有点棘手,我想程序只有一个副本在运行。将程序的PID放入一个文件中,编写另一个实用程序(
XXX
),从文件中读取PID并将其终止

重要提示:
daemon
forks,调用daemon后获取程序的PID


但也许你太新手了,只想用
程序&
执行你的程序,然后
杀死它。

我完全误解了这个问题。您需要为此编写shell脚本

对于文件复制,您可以使用
scp
。使用
ssh
在另一台主机上执行命令。它应该类似于(未测试):

以后你可以用

ssh user@host "kill $pid"
首先,您应该使用fork()

在父进程中,您应该退出,在子进程中,您应该处理SIGHUP信号


这样,您就拥有了守护进程

是的,我太新手了,不能用第一种方法,但我需要它,像这样做。你能给我提供关于第一个解决方案的更多信息(更多细节,最好是一段代码)吗?非常感谢不,你没有。您先发布的解决方案是可以的。我在一个文件中有PID,我试图使用
kill()
并终止进程,但我不知道应该发送什么信号。我尝试了0,不工作,然后我尝试了一些
raise()
信号,但也不工作。我应该使用什么?我会在SIGTERM之前尝试SIGQUIT:这有点礼貌:)
ssh user@host "kill $pid"