首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rc.local不工作Debian 8

rc.local不工作Debian 8
EN

Unix & Linux用户
提问于 2016-12-27 02:41:58
回答 2查看 6.3K关注 0票数 0

我试图在引导/启动时启动一个Shell脚本,我试图编辑/etc/rc.local文件,但是它没有工作。

代码语言:javascript
复制
#!/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

它应该启动一个脚本,这个脚本本身就像一种魅力。(它启动一个屏幕会话.)

有什么帮助或其他方法可以实现这一点吗?

EN

回答 2

Unix & Linux用户

发布于 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-logindsystemd-resolved或各种“工具包”S完全取消了。

忘记rc.local吧。这不是该走的路。您有Debian 8。因此,建立一个适当的systemd服务单元,而不是从两个向后兼容性的水平开始。(在Ubuntu上,它被删除了三次,随后的System 5 rc克隆已经被自己两次取代,十多年前被暴发户取代,然后被systemd取代。)

不要通过创建一个startup.sh脚本,然后从systemd服务单元调用它,从而开始使用systemd运行这个过程。这个想法很快就进入了恐怖之家的系统领域。使服务单元尽可能多地直接描述流程设置和执行本身。只有当您遇到包装外壳脚本的限制时,才使用该脚本。并确保您的包装外壳脚本在最低限度上使用exec来覆盖最终的démon程序。

你没说那是什么服务。您提到使用screen,但这经常被滥用为穷人的D mon主管,而且很可能不是在实际服务管理器下运行服务的方式。我确实在那里看到了“方舟”这个词,伴随着对screen的潜在滥用,我想到了两件事:

再读

票数 3
EN

Unix & Linux用户

发布于 2016-12-27 03:16:02

如果您使用的是完整的systemd,那么标准的sysvinit脚本将被忽略。如果您想使用sysvinit脚本,则必须安装systemd-shim。

票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/332938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档