1
openbaby OP 我当前的办法是在 /etc/rc.local 里写为
nohup /root/speed & 但是不生效 |
2
ys0290 2017-04-21 14:39:23 +08:00 via iPhone 1
rc.local 里面不需要 nohup
|
3
fengfisher2 2017-04-21 14:41:09 +08:00
你加 x 权限就可以了。
chmod 755 xxx.sh |
4
openbaby OP @ys0290 这个脚本运行时会调用一个 json 文件,现在提示
Open config file failed: open ./speed.json: no such file or directory 是不是还要给这文件什么权限才能一并开机调用起来呢? |
5
fengfisher2 2017-04-21 14:44:50 +08:00 1
"另外,如何将这个脚本写成系统服务,实现启动重启停止呢?"百度一下就有了。
因为 1 ,你要在脚本里面添加选项,因为不知道你怎么写的,所以方法很多。 2 ,也不太明白,你说的系统服务是指 /etc/init.d/下面调用脚本呢?还是加到 service 里面,还是你想直接 chkconfig 这里开机启动。 |
6
jarlyyn 2017-04-21 14:45:50 +08:00 1
写个脚本
cd 过去 |
8
istek999 2017-04-21 16:11:59 +08:00 1
|
9
SharkIng 2017-04-21 17:35:21 +08:00 via iPhone
用绝对路径
|
10
allenshi 2017-04-21 18:15:44 +08:00 1
cd /脚本所在路径
./speed cd - 直接写在 /ect/rc.local 里面 |
12
babytomas 2017-04-21 18:36:51 +08:00 1
|
13
snip 2017-04-21 18:49:56 +08:00 1
centos7 和 Ubuntu16 下面,要给 rc.local 加执行权限
chmod 755 /etc/rc.local |
14
megachweng 2017-04-21 19:12:15 +08:00 via iPhone 1
估计 no such file 是因为你没写完整的目录,或者先 cd 到那个 json 目录下
|
15
ik 2017-04-21 19:44:35 +08:00 via iPhone 1
chmod +x /home/speed
echo '/home/speed' >> /etc/rc.local |
16
Shintaku 2017-04-21 21:39:24 +08:00 2
新建一个`/lib/systemd/system/speed.service`的配置文件
``` [Unit] Description=speed autostart [Service] Type=idle ExecStart=/usr/bin/sh /绝对路径 /speed & [Install] WantedBy=multi-user.target ``` 保存后执行 sudo systemctl daemon-reload sudo systemctl start speed sudo systemctl enable speed 停止重启可以在[Service]里加入相应的命令 |
18
julyclyde 2017-04-22 07:48:30 +08:00
哈,这是 javaer 常见的问题
|
19
julyclyde 2017-04-22 07:49:13 +08:00
@Shintaku 应该 Type=Simple 而且不加&
&这个是给 shell 做 job control 用的符号,在 systemd 里是没用的 |
21
loveminds 2017-04-23 09:32:21 +08:00
@Shintaku 赞
不要滥用 rc.local 这种 UNIX 时代的历史遗留,最好做成 systemd 服务,这样至少可控可管,当然,设置某些参数那种 OneShow 的除外 |