记录centos中操作(查找、结束、批量)进程以及crontab定时写法的知识

环境:vps,centos7,python3。

近期写了个python程序,用青龙面板在centos上运行。程序中有while无限循环,但是我在青龙中设置了定时任务(每隔半小时运行一次),于是造成了进程中有多个python3 xxx.py程序在运行。

任务:结束这些进程。

一、首先,在青龙面板中停止并删除定时任务。

二、远程登录VPS。

(1)查看运行的python进程。命令如下:

ps -ef | grep python3

结果为下图(举例): 

第一个红色箭头是进程的PID,第二个红色箭头是进程的PPID。 

(2) 结束进程

kill -9 PID

(3)因为每半小时运行一次无限循环的python程序(example.py),所以会有多个PID,想批量结束。

kill $(ps aux | grep 'python3 example.py' | grep -v grep | awk '{print $2}')

参考文章:[linux] 怎么批量kill掉挂载运行python 某个.py文件的端口_如何批量kill执行中的python-CSDN博客 

Linux ps 命令 | 菜鸟教程

Linux kill 命令 | 菜鸟教程

(4)进行上面的操作后,不知道为何,还是没有批量kill到好几个python3 example.py进程,于是最后,我重启了VPS。

shutdown -r now 立刻重启(root用户使用)

重新登陆后,就没有python3 example.py进程了。

三、重新设置青龙的定时任务,设置成一年执行一次

crontab写法如下:

0 1 1 1 *

有一个很好的ToolTT在线工具箱,可以在页面上测试定时的写法,参考文章如下:

在线crontab 每月1号凌晨1点执行一次解析验证 - ToolTT在线工具箱

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7系统,你可以使用crontab命令设置定时任务。下面是具体的步骤: 1. 打开终端并登录到CentOS 7系统上的超级用户(root)或拥有sudo权限的用户。 2. 输入以下命令以编辑当前用户的crontab文件: ``` crontab -e ``` 如果是第一次编辑,会提示选择编辑器,默认是vi。你可以根据自己的喜好选择其他编辑器。 3. 在打开的文件,每行输入一个定时任务,格式如下: ``` * * * * * command ``` 其,`* * * * *`表示时间和日期的设置。具体的含义如下: - 第1个`*`:分钟(0-59) - 第2个`*`:小时(0-23) - 第3个`*`:日期(1-31) - 第4个`*`:月份(1-12) - 第5个`*`:星期(0-7,其0和7都表示周日) `command`是要执行的命令或脚本路径。 例如,如果你想每天凌晨2点运行一个脚本,可以使用以下设置: ``` 0 2 * * * /path/to/script.sh ``` 4. 保存并关闭文件。在vi编辑器,可以按下`Esc`键,然后输入`:wq`并按下回车键。 5. 定时任务已经设置完成。现在,crontab将在指定的时间自动执行你设置的命令或脚本。 你也可以使用`crontab -l`命令查看当前用户的定时任务列表,使用`crontab -r`命令移除当前用户的定时任务。 请注意,定时任务将以当前用户的身份执行。如果你希望以其他用户的身份执行定时任务,可以使用`sudo crontab -e`命令编辑root用户的crontab文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值