scrapyd部署后通过命令:url http://localhost:6800/cancel.json -d project=xx 无法快速终端任务处理办法

scrapy在运行爬虫的时候通过curl http://localhost:6800/cancel.json -d project=qctt -d job=a22dde1272ef11eaa2e0784f43945ed3 并不能把及时暂停爬虫。因为需要正在执行的任务停止才能发信号结束进程。

然后依然能看到


方法1:scrapyd上可以查看到pid,可以在服务器上用kill pid杀掉进程,如果kill pid失败,可以用kill -9 pid 杀进程

 

方法2:在服务器上用ps aux|grep 爬虫名 找到 爬虫对应的pid,然后如上,

scrapyd部署后通过命令:url http://localhost:6800/cancel.json -d project=xx 无法快速终端任务处理办法_第1张图片

用kill pid杀掉进程,如果kill pid失败,可以用kill -9 pid 杀进程


kill 和kill -9的区别:kill -9 不阻塞
kill 发送的信号是SIGTERM,而kill -9 发送的信号是SIGKILL(exit) ,exit信号不阻塞。

SIGTERM   终止进程     软件终止信号

SIGKILL   终止进程     杀死进程

有两个信号可以停止进程:SIGTERM和SIGKILL。 SIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。

对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里。

你可能感兴趣的:(scrapy爬虫,爬虫,python)