路漫漫其修远兮,吾将上下而求索。 网站首页学无止境

服务器后台运行python程序-nohup命令

## 命令简介 nohup   nohup 命令   用途:LINUX命令用法,不挂断地运行命令。   语法:nohup Command [ Arg ... ] [ & ]   描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。   如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。 ## 举例 ```python nohup python -u test.py > test.log 2>&1 & ``` 这条命令的意思是,执行test.py程序,并把程序中执行的情况记录到test.log文件中,包括程序异常、程序中打印的信息等。 PS: 也可以把上述命令写成nohup python -u test.py > nohup.out 2>&1 &唯一的区别就是把日志信息写到nohup.out文件中去了,两种做法都行。 输入后,回车。会打印出一个进程号。 可以通过jobs命令或者ps命令查看进程号 ![查看后台运行的进程号](https://img-blog.csdnimg.cn/20200209101546321.png) **==最后一步需要使用exit命令正常退出服务器==**,异常退出一样不能后台运行。 ![exit](https://img-blog.csdnimg.cn/20200209101826119.png) ## 应用场景 部署长期爬虫项目等

阿里云Ubuntu服务器 使用selenium chrome + headless(无头-无界面)

阿里云使用ubuntu服务器上使用selenium自动化爬虫,需要安装好谷歌浏览器(也可以是其他的浏览器)和对应版本的驱动,以及selenium需要配置好headless,no-sandbox等。 ## 1.安装selenium ```python pip install selenium ``` ## 2.安装谷歌浏览器 ```python sudo apt-get install libxss1 libappindicator1 libindicator7 wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb # Might show "errors", fixed by next line sudo apt-get install -f#安装依赖 google-chrome --version # 查看版本 ``` ## 3.安装 chromdriver 进入[阿里云镜像](https://npm.taobao.org/)下载chromdriver ![镜像源图片](https://img-blog.csdnimg.cn/20200208111651917.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDM4ODA5Mg==,size_16,color_FFFFFF,t_70) 下载与上面对应的谷歌浏览器对应的chromdriver。一般是下载最新的。 可以查看 notes.txt 文件,看chrome 和ChromDriver 两者相对应的兼容版本 ![谷歌浏览器](https://img-blog.csdnimg.cn/20200208112018926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDM4ODA5Mg==,size_16,color_FFFFFF,t_70) 下载 chromedriver_linux64.zip 解压 得到 chromedriver文件 远程 把chromedirver 文件放到线上服务器 目录/usr/bin/ 下。 如果报权限不够的错误 ```python During handling of the above exception, another exception occurred: Traceback (most recent call last): File “amac_project_msg.py”, line 7, in <module> browser = webdriver.Chrome(executable_path="/usr/local/bin/chromedriver", chrome_options=opt) File “/root/anaconda3/envs/opinion/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py”, line 73, in init self.service.start() File “/root/anaconda3/envs/opinion/lib/python3.5/site-packages/selenium/webdriver/common/service.py”, line 88, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home ``` 解决办法就是把该路径下的chromedriver提权。 ```python chmod 777 chromedriver ``` ## 4.测试 ```python from selenium import webdriver chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless')#无头模式,服务器没有图形界面这个必须 chrome_options.add_argument('--disable-gpu')#不需要gpu加速 chrome_options.add_argument('--no-sandbox') # 这个配置很重要 client = webdriver.Chrome(chrome_options=chrome_options, executable_path='/home/chromedriver') # 如果没有把chromedriver加入到PATH中,就需要指明路径 client.get("https://www.baidu.com") print (client.page_source.encode('utf-8')) client.quit() ``` 成功打印出 网页内容 ,那就ok了 !!!!

阅读教程3翻译

链接:https://pan.baidu.com/s/1WXgNs13mP9IFFjhyT3894Q 提取码:hi7r

超星网课助手

1.浏览器下载扩展程序Tampermongkey。(推荐Google,不过需要自行科学上网,其他浏览器也OK) 2.下载最新版超星网课助手。网址:https://greasyfork.org/zh-CN/scripts。 3.开启慕课平台,有可以做其他事、自动播放、自动答题(建议关闭,正确率不高)等功能,其他功能需要自己探究,建议合理使用。

腾讯云设置root用户账号密码

参考网址:https://blog.csdn.net/Rex_Joush/article/details/79463138,https://jingyan.baidu.com/article/acf728fd9bb151f8e510a301.html?qq-pf-to=pcqq.c2c

1 2
Top