upstart 和 systemd 之间非常困惑

upstart 和 systemd 之间非常困惑

鉴于我正在运行 15.10,我的系统应该使用systemd确认...

$ ps -p1 | grep systemd && echo systemd || echo upstart
    1 ?        00:00:02 systemd
systemd

但我已经upstart定义了一个脚本,~/.config/upstart/startup.conf

description "my startup scripts"
start on desktop-start

task
console log
script
  exec ~/scripts/startup.sh start
end script

我猜启动脚本可以使用吗upstart

但我也定义了一个关机脚本,~/.config/upstart/shutdown.conf

description "my shutdown scripts"
start on desktop-end

task
console log
script
  exec ~/scripts/backup.sh start
end script

但该脚本没有启动。当我尝试手动启动时……

sudo start startup或者sudo start shutdown我得到..

start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused

如果我从 手动运行关机脚本,它就会起作用~/scripts/backup.sh

权限

-rwxrwxr-x 1 deanresin deanresin    933 May 28 01:31 backup.sh
-rwxrwxr-x 1 deanresin deanresin   2061 May 28 14:06 startup.sh
-rw-rw-r-- 1 deanresin deanresin 124 May 28 14:04 shutdown.conf
-rw-rw-r-- 1 deanresin deanresin 218 May 28 14:02 startup.conf

感谢下面的评论者,这是一个权限问题。更改为..

-rwxrwxr-x 1 deanresin deanresin 124 May 28 14:04 shutdown.conf
-rwxrwxr-x 1 deanresin deanresin 218 May 28 14:02 startup.conf

编辑:出于某种原因,startup.conf不需要执行权限。这些权限正在起作用...

-rwxrwx--- 1 deanresin deanresin 124 May 28 14:04 shutdown.conf
-rw-rw---- 1 deanresin deanresin 218 May 28 14:02 startup.conf

为什么我的启动脚本可以运行而我的关机脚本却不运行? 为什么 upstart 可以工作?或者说可以工作?我非常困惑。

答案1

这可能是权限问题。两个.conf文件都需要可执行。

做:

chmod a+x ~/.config/upstart/shutdown.conf

答案2

为什么 upstart 可以工作?或者说,它真的可以工作吗?[…] 我仍然不明白 upstart 到底为什么可以工作。

systemd 作为系统范围的服务管理器运行。upstart 作为每个会话的服务管理器运行。

进一步阅读

相关内容