在服务器端后台跑程序(Python) |
您所在的位置:网站首页 › python运行需要联网吗 › 在服务器端后台跑程序(Python) |
说起这事,小编有一个很吐血的故事。当时正在做数据分析,在八十万条数据(sss)里遍历十万条数据(两个五万数据的文件A12,B12) sssA12B12并作出记录。程序跑了两天,结果被最后的一个测试删除,把得到的新的七十多万数据就这么覆盖了!!!!!!只剩两条!!!!! 小编只好先把程序跑到服务器再让它跑个两天,可是每次当我退出链接服务器,程序都会终止,在一顿搜索下,找到如下方法: 在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。 关键的命令: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 的意思是强制删除 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |