标签: daemon

gnome-keyring-daemon 无法分配安全内存

我在 Debian Linux 系统上运行 logcheck 以收到日志文件中异常行的警报,最近我在以下内容中看到了以下内容/var/log/messages

gnome-keyring-daemon: couldn't allocate secure memory to keep passwords and or keys from being written to the disk
Run Code Online (Sandbox Code Playgroud)

我不知道到底是什么导致了这条消息,只是后来在日志中注意到了。这是什么意思,我该如何解决?

gnome memory debian gnome-keyring daemon

8
推荐指数
1
解决办法
6414
查看次数

如何将 C 程序作为守护进程运行?

我有一个 C 程序,我想将它作为守护程序运行。如何安装它以便它在 CentOS 上作为守护程序运行?有人说要用@reboot,有人说要放进去/etc/rc.d/rc.local。哪个是正确的方法?

c centos daemon

7
推荐指数
1
解决办法
8235
查看次数

是否可以编写可移植的服务脚本来控制守护进程?

我(或我的一位同事)需要编写一个或多个 shell 脚本来控制守护进程的执行。我们需要能够启动守护进程,告诉它正常关闭,并强制关闭。基本上,这是人们传统上使用脚本进行的那种事情/etc/init.d

我们将部署到 Ubuntu。我们可能希望部署到 RedHat/CentOS,也可能部署到 AIX。我希望能够部署到任何 unix,因为我喜欢可移植性地做事。

那么,是否可以编写可移植的服务脚本?

我想我可以编写一个便携式 Bourne shell 脚本,它的工作方式类似于普通的 init.d 脚本,并接受“开始”和“停止”作为命令。这可以在任何地方工作,并且至少可以在 Debian 和 RedHat 风格的系统上提供自然的界面。它适合其他地方吗?init.d 是通用的吗?有什么需要注意的陷阱吗?

有没有什么工具可以生成不同形式的服务脚本?我可以编写用于启动和停止的脚本片段,并让该工具为各种不同平台生成脚本。

对于特定于平台的服务脚本约定,是否有任何替代方案?我遇到过daemontoolsrunit;这些是 init.d 脚本的替代品吗?他们有什么好处吗?还有什么这样的?

这有道理吗?

scripting daemon init.d

7
推荐指数
1
解决办法
581
查看次数

有 JVM 守护进程吗?

我很好奇,是否有一个 JVM 作为操作系统守护进程运行,并在新进程应该在其中启动时分叉(即像 Android 上的 init 或 zygote 进程)?如果没有,为什么不呢?我不是在谈论 JVM 中的守护线程。

我问的原因是因为 JVM 启动时间很慢,并且对脚本编写造成了沉重的负担。

java daemon

7
推荐指数
2
解决办法
3330
查看次数

如何在 Arch Linux 中添加我自己的守护进程?(BSD 风格的初始化)

我创建了一个指向开始/停止/等的符号链接。包装 bash 脚本/etc/rc.d,将其添加到DAEMONS=()rc.conf 中,但它指向的进程未在启动时启动,也未显示在$ rc.d list. 谷歌搜索,我看到提到update-rc.d,但似乎该命令在 Arch Linux 中不可用。添加rc.local可以与默认值相同的方式使用的系统范围守护程序(即,不使用)的正确方法是什么?

arch-linux bsd init daemon

7
推荐指数
1
解决办法
3109
查看次数

如何指定守护进程对另一个守护进程的依赖

/etc/init.d/

第一个守护进程

# Provides:          first
# Required-Start:    $remote_fs $syslog
Run Code Online (Sandbox Code Playgroud)

第二个守护进程

# Provides:          second
# Required-Start:    $remote_fs $syslog first
Run Code Online (Sandbox Code Playgroud)

这是在 Debian 中指定第二个守护进程对第一个启动之前的依赖的正确方法吗?

debian daemon init.d

7
推荐指数
1
解决办法
1万
查看次数

如何在 Linux Mint Debian v2 上启动时启动 SSH 守护进程

我使用的是 64 位 Linux Mint Debian v2。

我最近注意到我的 ssh 守护进程在启动时没有自动启动。它曾经。我不确定它是否与我的 UFW 配置或 sshd_config 配置有关,但是,除非我输入:

sudo service ssh start
Run Code Online (Sandbox Code Playgroud)

我在网上搜索过,我可以找到一些解决方案,例如:

sudo update-rc.d ssh defaults
Run Code Online (Sandbox Code Playgroud)

并在 中创建一个 sshd 文件/etc/init.d,但是,它们不起作用。

我试过清除 ssh 和 openssh-server 并重新安装。但是,这没有任何效果。重新安装后它会自动启动,但是,一旦我重新启动并检查 ssh 守护程序,它就不会出现。 

关于如何让它在启动时启动的任何建议?

ssh services sshd daemon

7
推荐指数
1
解决办法
4万
查看次数

如何停止守护进程的 OpenVPN 连接?

我开始了一个 VPN 连接sudo openvpn --daemon --config connection.ovpn。有没有办法终止此连接而不使用ps搜索进程然后kill自己搜索?

command-line openvpn daemon

7
推荐指数
1
解决办法
2万
查看次数

创建 shell 脚本守护进程时,哪个 PID 属于 systemd PIDFile 部分?

我已经根据这个答案的代码创建了一个 shell 脚本守护进程。我写了一个 systemd 服务文件,内容如下:

[Unit]
Description=My Daemon
After=network.target

[Service]
Type=forking
PIDFile=/run/daemon.pid
ExecStart=/root/bin/daemon.sh
ExecReload=/bin/kill -1 -- $MAINPID
ExecStop=/bin/kill -- $MAINPID
TimeoutStopSec=5
KillMode=process

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

就在 while 循环开始之前,我正在创建一个 PID 文件(它将由守护进程创建,而不是由子进程或父进程创建,因为它们还没有达到这一点):echo $$ > /run/daemon.pid;. 它工作正常,但每次我打电话时systemctl status daemon.service,我都会收到以下警告:

daemon.service: PID file /run/daemon.pid not readable (yet?) after start: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我echo $$ > /run/daemon.pid;在脚本的开头插入 PID creaton 语句(子级和父级也将使用它),我会收到以下警告:

daemon.service: PID 30631 read from file /run/daemon.pid does not exist or is a zombie.
Run Code Online (Sandbox Code Playgroud)

创建 PID …

process systemd daemon

7
推荐指数
2
解决办法
2万
查看次数

为 PHP 服务器使用 start-stop-daemon

我正在开发用 PHP 编写的套接字服务器。这部分工作已经完成,但现在我需要将它作为守护进程运行。

为此,我尝试使用start-stop-daemon但它不起作用。我的服务器正在运行 Debian。

为简化起见,我的问题是为什么以下命令不运行我的守护程序或如何调试它?

start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/server-ticket.pid --exec /usr/local/zend/bin/php /var/www/server/consultpilot/ServerTicket.php >> /var/log/server-ticket.log 2>> /var/log/server-ticket.log </dev/null
Run Code Online (Sandbox Code Playgroud)

以下是完整脚本,基于Till Klampaeckel 的教程

start-stop-daemon --start --quiet --background --make-pidfile --pidfile /var/run/server-ticket.pid --exec /usr/local/zend/bin/php /var/www/server/consultpilot/ServerTicket.php >> /var/log/server-ticket.log 2>> /var/log/server-ticket.log </dev/null
Run Code Online (Sandbox Code Playgroud)

有关信息,当我开始这个过程时,没有回报。但是当我完成它时,它告诉我没有相应的进程:

root:/var/run$ service server-ticket start
Starting Daemon for the Server Ticket from DiffMed: result : 0
server-ticket.
root:/var/run$ service server-ticket stop
Stopping Daemon for the Server Ticket from DiffMed: start-stop-daemon: warning: failed to kill 5772: No such …
Run Code Online (Sandbox Code Playgroud)

php daemon init.d

6
推荐指数
1
解决办法
5438
查看次数