我试图在引导/启动时启动一个Shell脚本,我试图编辑/etc/rc.local文件,但是它没有工作。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/root/ark/startup.sh #Added
exit 0它应该启动一个脚本,这个脚本本身就像一种魅力。(它启动一个屏幕会话.)
有什么帮助或其他方法可以实现这一点吗?
发布于 2016-12-27 12:10:50
rc.local.作为我说的是CentOS 7:
你在使用Debian 8你有系统。/etc/rc.local是systemd中的一种双向后兼容机制,因为它是一种向后兼容机制,它本身就是5 rc克隆中的一种兼容性机制。
正如下面超链接的AskUbuntu问题中的混乱所示,使用/etc/rc.local可能会发生可怕的错误。在其他地方,人们感到惊讶的是,systemd并没有像他们习惯的那样以完全相同的方式运行rc.local,在引导过程中的位置也是如此。另一些人则感到惊讶的是,他们在rc.local中建立的预期旧的做事方式被新的udev规则、NetworkManager、systemd-logind、systemd-resolved或各种“工具包”S完全取消了。
忘记rc.local吧。这不是该走的路。您有Debian 8。因此,建立一个适当的systemd服务单元,而不是从两个向后兼容性的水平开始。(在Ubuntu上,它被删除了三次,随后的System 5 rc克隆已经被自己两次取代,十多年前被暴发户取代,然后被systemd取代。)
不要通过创建一个startup.sh脚本,然后从systemd服务单元调用它,从而开始使用systemd运行这个过程。这个想法很快就进入了恐怖之家的系统领域。使服务单元尽可能多地直接描述流程设置和执行本身。只有当您遇到包装外壳脚本的限制时,才使用该脚本。并确保您的包装外壳脚本在最低限度上使用exec来覆盖最终的démon程序。
你没说那是什么服务。您提到使用screen,但这经常被滥用为穷人的D mon主管,而且很可能不是在实际服务管理器下运行服务的方式。我确实在那里看到了“方舟”这个词,伴随着对screen的潜在滥用,我想到了两件事:
发布于 2016-12-27 03:16:02
如果您使用的是完整的systemd,那么标准的sysvinit脚本将被忽略。如果您想使用sysvinit脚本,则必须安装systemd-shim。
https://unix.stackexchange.com/questions/332938
复制相似问题