linux上像服务一样启动python程序,开机自动启动,能够start,stop,restart,status等?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux上像服务一样启动python程序,开机自动启动,能够start,stop,restart,status等?相关的知识,希望对你有一定的参考价值。
shell脚本服务
========================================================================
#!/bin/bash
#chkconfig:2345 80 05 --指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机
#description:mystart service
RETVAL=0
#启动服务的入口函数
start()
echo "myservice serive is start..."
su root -c "nohup python /home/myServer/test.py &"
#关闭服务的入口函数
stop()
#这里怎么写才能关闭?
echo "yihu service is stoped..."
#使用case,可以进行交互式操作
case $1 in
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL
ubuntu linux
1、系统有相应的python解释器,并在脚本头部声明,例如:#!/usr/bin/python
2、给予该脚本可执行权限,如:chmod +x somescript.py
3、脚本接受第一个命令参数,需要能接受至少包含start的参数,至于stop、restart以及status等并不是必须的,你可以自己来扩展。如: ./somescript.py start 这种命令格式来启动程序
4、将该脚本放到/etc/rc.d/init.d/路径下
5、chkconfig --add somescript.py添加服务
6、chkconfig --level 35 somescript.py on 在init为3和5的级别上开机启动该服务 参考技术A
1. 只能够输入Python命令 。
在Python交互模式下输入Python代码,而不要输入系统的命令。
2. 在交互模式下打印语句不是必须的 。
在交互模式下不需要输入完整的打印语句,解释器自动打印表达式的结果,但是在文件中则需要写print 语句来打印结果。
3. 提示符的变换和复合语句 。
当在交互模式下输入两行或多行的复合语句时,提示符会由>>> 变成 …;如果要结束复合语句的输入并执行它,那么必须按下Enter键两次,复合语句才会被执行。
4. 交互提示模式一次运行一条语句 。
当你想测试某一条命令的时候,交互模式是一个很好的测试方法,输入然后回车即可看到执行结果,非常方便,当然对于复合语句来说,只要最后按两次Enter键即可运行代码,看到执行结果。
具体如下:
1、简介
Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
2、基本信息
Linux[2]操作系统是UNIX操作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
3、分区规定
设备管理在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等,IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。
参考技术B 自行写成服务脚本即可。ubuntu可以用upstart,centos6只能用init了,centos7上可以用systemd追问有没有 ubuntu 服务脚本的例子,我是新手,谢谢
追答https://help.ubuntu.com/community/UpstartHowto官方wiki,慢慢学吧
linux设置开机自启动
参考技术Alinux设置开机自启动执行命令 :
执行命令 : 编辑"/etc/rc.local",添加你想开机运行的命令
运行程序脚本 :然后在文件最后一行添加要执行程序的全路径。
例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
注意,你的命令应该添加在:exit 0 之前
linux在“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
简单的说,运行级就是操作系统当前正在运行的功能级别。
例:在Ubuntu/debain里,可以使用update-rc.d命令来把示例脚本:/etc/init.d/proxy安装到各个runlevel中。
update-rc.d后面有三个参数,分别是/etc/init.d下的脚本名字,默认安装方式,运行的优先级。优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。
如果要卸载随机启动的服务,执行
在update-rc.d安装的时候提示了警告信息,是因为我们写的/etc/init.d/proxy太简陋了,只包含了我们想要的命令,连LSB的信息也没有提供。
只需要对自启动脚本做一些小改动,就可以避免那个警告了。如下:
到此,一个最简单的随机启动服务写好了,看起来文章挺长的,但其实也就几个命令而已。 在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。
在/etc/init.d下新建示例脚本文件(startTest.sh),该脚本会启动/opt/test.sh。内容如下:
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
以上是关于linux上像服务一样启动python程序,开机自动启动,能够start,stop,restart,status等?的主要内容,如果未能解决你的问题,请参考以下文章