- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Ubuntu 18.04.2 LTS 上运行一个简单的守护程序,它应该将一些数据写入日志文件。父进程以退出代码 0 终止,但没有创建文件。
此外,当我在 fork()
之后设置断点时, pid
以 835 为例。当我使用 ps -p 835 -o comm=
查询该程序的进程名称时, 我得到 LinuxTest.out <defunct>
,但是当我让程序继续并再次查询进程名称时,没有显示任何输出,即使由于代码后面的无限循环,子进程应该仍在运行。
我正在使用带有远程构建的 Visual Studio 2019。我还尝试通过 SSH 登录服务器并使用 sudo 权限在那里执行构建的程序,但也没有任何 react 。
int main() {
pid_t pid, sid;
// Fork off the parent process
pid = fork();
// if we got a good PID, then we can exit the parent process
if(pid > 0) exit(EXIT_SUCCESS);
else exit(EXIT_FAILURE);
// create new SID for child process
sid = setsid();
if(sid < 0) exit(EXIT_FAILURE);
// change the current working directory
if(chdir("/") < 0) {
exit(EXIT_FAILURE);
}
// change the file mode mask
umask(0);
// close out the standard file descriptors
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
// Open a log file in write mode.
FILE* fp = fopen("Log.txt", "w+");
while(1) {
sleep(1);
fprintf(fp, "Logging info...\n");
fflush(fp);
}
fclose(fp);
}
最佳答案
你有:
if(pid > 0) exit(EXIT_SUCCESS);
else exit(EXIT_FAILURE);
if (pid > 0)
exit(EXIT_SUCCESS);
else
exit(EXIT_FAILURE);
fork()
成功,父进程成功退出,子进程以失败状态退出;如果
fork()
失败,父级以失败状态退出。
if (pid > 0)
exit(EXIT_SUCCESS);
else if (pid < 0)
exit(EXIT_FAILURE);
/* Child is running here: pid == 0 */
关于c - Ubuntu-Daemon 不创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59630067/
在前台程序上运行 valgrind 很容易。但是 valgrind 会为守护程序工作并在执行后给出输出。我该怎么做? 谢谢 最佳答案 是的,valgrind 肯定适用于守护程序。 许多守护进程都有某种
网络上有很多守护进程的示例实现。我看到的大多数不使用 daemon(3) 函数在后台运行程序。这只是品味、无知的问题,还是有充分的理由编写我自己的 daemonize 函数?使用 daemon(3)
我使用 apache commons 示例代码编写了一个守护进程: public class LockDaemon implements Daemon { @Override public void
docker出现cannot connect to the docker daemon. is the docker daemon running on this host错误解决办法 发生现象:
我正在使用 Ruby Daemon-kit 设置一个服务,为我的 Rails 应用程序执行各种后台操作。 当我在命令行上调用时它工作正常: ./bin/bgservice 我如何为它创建一个守护进程
当我尝试使用命令'react-native run-android'构建项目时,出现以下错误: 错误:无法找到或加载主类“Dorg.gradle.daemon = true” JS server al
我正在尝试从以下位置安装 memcached:http://blog.elijaa.org/index.php?post/2010/10/15/Memcached-for-Windows&simila
我使用 Xcode 创建了一个命令行工具应用程序。在那个应用程序中,我使用 NSWorkspace 来启动另一个应用程序包 (.app),如此处建议的那样。 MacOsX: How to launch
我正在尝试在一些Ubuntu 14.04流浪者盒子上使用consul设置docker swarm,但是docker守护程序存在问题。我已经在运行progrium / consul容器和swarm ma
我把android studio升级到3.2.0,并创建了默认项目。但是编译器报错: Android resource linking failed Output: D:\android1\proj
首先 - 我知道 UWSGI 建议使用 smart-attach-daemon 来自:http://uwsgi-docs.readthedocs.io/en/latest/AttachingDaemo
2018/09/27 我把android studio升级到3.2.0,并创建了默认项目。但是编译器报错: Android resource compilation failed Output: C
错误: Error 1 "bin\Debug\Daemon.exe.manifest;bin\Release\Daemon.exe.manifest" is an invalid value fo
尝试构建 Android 应用程序时出现此错误: > A failure occurred while executing com.android.build.gradle.internal.task
我已经从源码包安装了mysql-5.6.14 尝试开始: vaio1@vaio1-VPCEA3S1E:mysqld 2013-11-17 13:22:18 0 [Warning] Using uni
我知道一些(全部?)守护进程在启动时会 fork 。我的印象是,这是将子进程作为特权较低的用户运行,特别是如果守护进程类似于 HTTP 服务器。 为什么这是必要的?如果不 fork 子进程,进程就不能
我目前正在开发一个守护进程,它将执行很多不同的任务。它是多线程的,并且正在构建以处理几乎任何类型的内部错误而不会崩溃。好吧,我正在处理关闭请求,但我不确定我应该如何去做。 我有一个关闭 Hook 设置
Windows Server的Docker Windows Server 1709版,带有容器 Docker版本17.06.2-ee-6,构建e75fdb8 群集模式(工作程序节点,具有Ubuntu母
使用截至2017年8月25日的最新版本的Docker,我知道Docker不再需要VirtualBox安装程序以及boot2docker才能正常工作。但是,在尝试连接到它并使用docker-compos
是否使用 C 函数 daemon()与使用 fork()、setsid()、umask()、 等显式函数(除了无法设置所有守护进程参数之外)相比,Linux 守护进程在安全性或稳定性方面有任何劣势吗?
我是一名优秀的程序员,十分优秀!