当前位置: 首页 > article >正文

Linux环境开机自启动

1.制作服务

在/etc/systemd/system/路径下创建kkFile.service文件

cd /etc/systemd/system/
vim kkFile.service

2.写入如下内容

[Unit]
Description=kkFile service
[Service]
Type=forking
ExecStart=/sinosoft/yjya/kkFileView-4.0.0/bin/startup.sh
[Install]
WantedBy=multi-user.target

 

关于service单元配置文件

Description:是对服务的描述,方便记忆和阅读,一般来说这里可以随心所欲的。
Wants:是服务项的启动依赖那些项。
Type:是服务的类型,有simple,forking,oneshot,dbus,notify,idle。其中我们常用的类型有simple,forking,oneshot。simple 是默认,这是最简单的服务类型。意思就是说启动的程序就是主体程序,这个程序要是退出那么一切都退出。forking 标准 Unix Daemon 使用的启动方式。启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下守护精灵的子进程。oneshot种服务类型就是启动,完成,没进程了。
ExecStart:是启动脚本的路径和参数,参数和脚本之间用空格分割。
Restart:是配置启动项是否需要重启,有no,on-success,on-failure,on-abnormal,on-watchdog,on-abort,always。这些选项就是他们字面意思,abnormal意思是反常的,看文档里面说除了信号SIGHUP,SIGINT,SIGTERM,SIGPIPE以外其他信号终止的,都是反常的包含code dump,操作超时等。

WantBy:指服务在何种情况下面会被启动,例如上面multi-user.target指的是多用户环境
 

Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。
Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。
RemainAfterExit如果设置这个选择为真,服务会被认为是在激活状态,即使所以的进程已经退出,默认的值为假,这个选项只有在Type=oneshot时需要被配置。

3.设置开机自启动

#  重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载
systemctl daemon-reload 

#启动应用
systemctl start kkFile.service


#设置开机时启动
systemctl enable kkFile.service


http://www.kler.cn/news/9722.html

相关文章:

  • Laravel 6.2 表单验证之表单请求验证
  • 如何免费使用ChatGPT 4?
  • postgres创建分区表
  • Java Stream API 操作完全攻略:让你的代码更加出色 (三)
  • 安装cmake
  • 2023年全国最新安全员精选真题及答案48
  • 从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
  • 食堂总是拥挤不堪?解决用餐拥挤,教你一招
  • stm32当中的EXTI外部中断系统
  • Ubuntu系统配置SonarQube + cppcheck + Jenkins
  • docker使用具体教程,入门方法你懂了吗?
  • NVT | NVT SDK播报语音制作
  • 每日刷题记录(十)
  • 刚入职场的年轻开发人员应该如何提高自己的技能,掌握哪些知识
  • LOTO示波器电源环路增益分析客户实测
  • Kotlin语法-Day10
  • EndNote X9 插入参考文献方法 及论文参考文献常见问题总结
  • idea无maven选项
  • 佳明手表APP开发系列01——简单汉化英文版
  • synchronized的简单理解
  • QT样式表详解
  • ChatGPT原理剖析
  • 云HIS源码:云HIS系统操作指南
  • 【数据结构】栈和队列(笔记总结)
  • PHP请求的好处,PHP如何请求淘宝开放接口
  • 代码随想录算法训练营第38天|509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
  • 20230403在WIN10下通过ffmpeg调用NVIDIA的硬件加速wmv视频转码为MP4格式
  • WEB系统页面超过一定时间就自动跳转至登录页(或退出)
  • ios jenkins配置实现iOS项目自动化打包
  • 初谈 ChatGPT