Centos 7上实现Python3程序开机自启动

一、安装Python3

我们先来查看python安装位置,一般是位于/usr/bin/python目录下。

# which python
>>> /usr/bin/python

1. 安装依赖包(切记安装)

# yum -y groupinstall "Development tools"
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载Python3安装包

大家可根据自己需求下载不同版本的Python3,我下载的是Python3.6.2

# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

上面的太慢可以用这个
# wget http://mirrors.sohu.com/python/3.6.2/Python-3.6.2.tgz

3. 新建python3存放目录

# mkdir /usr/local/python3 

4. 安装Python3

解压压缩包,进入解压目录,指定安装目录,安装Python3。

# tar -xvJf Python-3.6.2.tar.xz
# cd Python-3.6.2
# ./configure --prefix=/usr/local/python3
# make 
# make install

安装Python3时,会自动安装pip。假如没有,需要自己手动安装。

# yum -y install python-pip

5. 创建软链接

# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

如果遇到下面的bug

# ln: failed to create symbolic link '/usr/bin/python3': File exists

说明已经有链接链到 /usr/bin/python上了,删除即可,使用命令

# rm -rf /usr/bin/python3

注意python后面不能加斜杠

6. 安装完成,输入python3测试

 

二、测试python脚本

假设文件夹\home\sks\python3_crawl下面有个test.py 文件

打开terminal终端:转到root模式

进入cd /hom/sks/python3_crawl

执行:python3 test.py

 

缺少库的话,使用下列命令安装

pip3 install 你要安装的库名

 

扩展知识

查看Python路径

whereis python

此命令将会列出系统所安装的所有版本的Python的路径效果如下: 
 
使用以下命令可分别查看Python2,Python3的安装路径

whereis python2
whereis python3


查看使用pip安装的软件包 
默认Python3

pip list

Python2查看pip安装的软件包名称及版本

python2 -m pip list 

Python3查看pip安装的软件包及版本

python3 -m pip list

同样也可以是用命令

pip freeze

进行查看,安装包的路径


例如查看 beautifulsoup4的安装路径

pip show beautifulsoup4

 

三、后台运行Python

在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。

关键的命令:nohup

*基本用法:
进入要运行的py文件目录前

nohup python  -u test.py > test.log 2>&1 &
 

*含义解释:
nohup  不挂起的意思
python  test.py   python运行test.py文件

-u     代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟

> test.log  将输出日志保存到这个log中

2>1        2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 
2>&1      换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

&         最后一个& ,代表该命令在后台执行

*命令运行后会有提示,示例:
[1]   2880

代表进程2880中运行。

*查看nohub命令下运行的所有后台进程:
jobs
*查看后台运行的所有进程:
ps -aux

*查看后台运行的所有python 进程:
ps aux |grep python
或者

ps -ef | grep python

 

*删除进程
kill -9  [进程id]

-9  的意思是强制删除

 

四、开机自启动

二、添加开机自启脚本

在centos7中增加脚本有两种常用的方法,以脚本autostart.sh为例:
#!/bin/bash
#description:开机自启脚本
/usr/local/tomcat/bin/startup.sh  #启动tomcat

1、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)
chmod +x /opt/script/autostart.sh

2、打开/etc/rc.d/rc.local或/etc/rc.local文件,在末尾增加如下内容
/opt/script/autostart.sh

3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良月柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值