目前我有一个守护进程在启动时使用rc.local
以下行启动。
su -l user -c '/dir/daemon'
但我想通过重生来启动这个过程作为服务。我发现应该添加/etc/inittab
类似的东西
daemon:run-level:respawn:script-to-daemon
- 我应该使用哪个运行级别?
- 我如何将其执行为
user
? - 如果我正在使用
inittab
我应该删除该行rc.local
- 有没有类似的东西永远这会为我做的
答案1
把...忘了吧/etc/inittab
。
如果你有带有 upstart 的 Ubuntu,或者 systemd 操作系统之一,那么你的系统会完全忽略它/etc/inittab
,这是完全无关的。
- 斯科特·詹姆斯·雷南特和詹姆斯·亨特。
inittab
(5)。 Ubuntu 版本 12 手册页。 - https://unix.stackexchange.com/a/196197/5132
忘记运行级别。
它们存在于 systemd 操作系统中,但仅作为兼容性垫片。 systemd 文档指出该概念已“过时”。如果您在 systemd 操作系统上开始使用此功能,请不要从那里开始。
把...忘了吧forever
。
如果您有一个服务管理器,无论是 runit、systemd、perp、nosh、upstart、s6 还是 daemontools-encore,那么它已经在做您认为您需要什么forever
。
把你的东西拿出来rc.local
。
在新贵或 systemd 系统上,它实际上与运行级别一样是兼容性垫片。
将您的东西放入新贵工作或 systemd 服务单元中。
后者看起来像
[单元] 描述=启动 wibble 守护进程 [服务] 用户=wibble-d ExecStart=/usr/local/bin/wibbled 重新启动=始终 [安装] WantedBy=多用户.target