梦如此美好 2021-10-11 10:32 采纳率: 37.5%
浏览 222

systemctl可以设置延后启动吗?

最近添加了两个自己开发的jar到systemctl,设置了开机自启动,B依赖于A,A启动需要一段时间,一般20S内可以启动完成,而B需要去连接A,但是开机的时候启动速度太快了,导致虽然两个服务都启动成功了,但是B并没有完全成功。

/usr/lib/systemd/system/a.service 
[Unit]
Documentation=a-service
Before=b.service
 
[Service]
Type=forking
Restart=no
KillMode=process
ExecStart=/etc/rc.d/init.d/a start
ExecStop=/etc/rc.d/init.d/a stop
 
[Install]
WantedBy=multi-user.target

B

[Unit]
Documentation=b-service
Requires=a.service
After=a.service

 
[Service]
Type=forking
Restart=always
KillMode=process
ExecStart=/etc/rc.d/init.d/b start
ExecStop=/etc/rc.d/init.d/b stop
 
[Install]
WantedBy=multi-user.target

现在a是可以启动成功,b显示启动成功,但是实际没有成功。
目前想到的办法是另写一个脚本

vim /usr/lib/systemd/system/java.service 
[Unit]
Description=java

[Service]
Type=forking
ExecStart=/usr/bin/bash -c "/test/app/start-java.sh"

[Install]
WantedBy=multi-user.target

脚本

cat /test/app/start-java.sh
#!/bin/bash
sh /test/app/a/start-a.sh
sleep 20s
sh /test/app/b/start-b.sh


  • 写回答

1条回答 默认 最新

  • 普通网友 2021-10-11 10:43
    关注

    你的想法可以

    评论

报告相同问题?

问题事件

  • 修改了问题 10月11日
  • 修改了问题 10月11日
  • 创建了问题 10月11日

悬赏问题

  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图
  • ¥15 关于#DMA固件#的问题,请各位专家解答!
  • ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
  • ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
  • ¥20 微信小程序 canvas 问题
  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验