V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zictos  ›  全部回复第 134 页 / 共 157 页
回复总数  3122
1 ... 130  131  132  133  134  135  136  137  138  139 ... 157  
2020 年 12 月 31 日
回复了 Junzhou 创建的主题 程序员 GitHub 上的抢茅台工具,作者会被请去喝茶吗。
@kop1989 #5 你说直接请求接口,那不通过浏览器而直接发送 get 请求或 post 请求(没破解其他东西)是破坏计算机信息系统罪吗?这样的话很多自动化软件都是了啊!另外之前爬虫判刑有个理由是“伪造 UA”,有些爬虫也是直接发送请求的,不一定都是用模拟浏览器的方式
2020 年 12 月 30 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
写成函数,只要传入某个进程的 pid 就可以杀死该进程以及该进程下面的子进程。把 killprocess(pid)中的 pid 替换为要杀的进程的 pid 即可

def killprocess(pid):
****import psutil
****childlist = psutil.Process(pid).children(recursive=True)
****for i in childlist:
********i.kill()
****psutil.Process(pid).kill()
2020 年 12 月 30 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@abersheeran #17
@JCZ2MkKb5S8ZX9pq #18

15 楼已经解决了,已经可以获取到子进程对象了,杀进程可以再加一个循环
for i in pidlist:
####i.kill()
@icy37785 #27 那我去哪里留意呢?网站申请时不需要登录,留邮箱也是索要发票才需要留,邮箱也只收到了发票,我邮件都会看的。这样的话有合同与没合同有什么关系呢?没纸质合同不代表没有事实上的合同,总不可能每次网购或者去店里消费也都签一份合同吧!网上页面显示的就都可以视为合同内容。
那敢问你说的打官司打赢了是哪一年的事?十几年前的事吗?官司打赢了后运营商才在合同上标注是吧?我办了很多次宽带,从来没见过合同,的确不知道合同具体内容是什么。包括我现在用的联通手机卡都是 2014 年在美团上买的,好像是本地营业厅做的团购,只问了我身份证号就直接把卡寄给我了,也是没任何其他合同。
@wunonglin #23 其实没合同对用户更好,合同一般是保护运营商的,运营商会写各种各样的格式条款,出现争议后就怪你没看。反正有工信部监管,没合同也不怕,只要能证明有办过宽带就行了。
我发现现在很多运营商办理业务时连纸质凭证都不提供了,我两年前去广州移动办理业务,就叫我在屏幕上签字,纸质凭证都没有。认真你就输了。
@wunonglin #18 湖南长沙电信你在申请页面找一下上行速率看看,其他地区没写的也有得是。真没有人上门给过合同,我发誓,否则天打雷劈
@dototototo
就是在网上提供电话和地址提交一下,然后第二天就有师傅上门来安装,从头至尾都不用去营业厅,网上的申请页面也没有任何地方说到上行速率的问题。不都是这样吗?哪来的合同?发票还是有的,没什么好担心的
那么多人拿合同说事,我办宽带压根就没见过合同,都是网上申请的,就算有合同也不会写上行速率
2020 年 12 月 30 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
15 楼写错了,“进程”二字全部写成了“线程”
2020 年 12 月 30 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@yucongo #13
可用,不过你的代码好像根本描述的效果不一样,我刚自己写着尝试了一下。把下面代码中的“[四空格]”替换成真正的 4 个空格就可以直接运行了
■■■■■■■■分割■■■■■■■■■■



from multiprocessing import Process
import psutil, os, time

def test1():
[四空格]print('我是主线程创建的第一个子线程,我的 pid 是%s' % os.getpid())
[四空格]#在第一个子线程下面继续创建子线程
[四空格]p2 = Process(target=test2)
[四空格]p2.start()
[四空格]time.sleep(1000)

def test2():
[四空格]print('我是子线程创建的子线程,是主线程的孙线程,我的 pid 是%s' % os.getpid())
[四空格]#在第二个子线程下面继续创建子线程
[四空格]p3 = Process(target=test3)
[四空格]p3.start()
[四空格]time.sleep(1000)

def test3():
[四空格]print('我是主线程的孙线程创建的子线程,我的 pid 是%s' % os.getpid())
[四空格]time.sleep(1000)

if __name__ == '__main__':
[四空格]#创建子线程 p1
[四空格]p1 = Process(target=test1)
[四空格]p1.start()

[四空格]#获取子线程 p1 的 pid
[四空格]pid = p1.pid

[四空格]#等待 4 秒后获取子线程 p1 下面所有子线程的 pid
[四空格]time.sleep(4)
[四空格]pidlist = psutil.Process(pid).children(recursive=True)
[四空格]print('pid 为%s 下面的所有子线程为%s' % (pid, pidlist))
2020 年 12 月 29 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@tonic #6
其实把子进程设为守护进程就可以让子进程在父进程被杀死时自动退出,但守护进程下面不能再创建子进程了。
p = Process(target=test) #创建子进程 p
p.daemon = True #把子进程 p 设为守护进程
p.start()
2020 年 12 月 29 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
笨办法不是没有,比如每创建一个子进程就把子进程的 pid 以及归属哪个父进程的信息写入全局变量中或写入数据库或者写入文本中,然后结束时一个个判断 pid 属于哪个分组并且判断是否存在就行了。只是不知道有没有更简单的,可能有,但是没发现。另外如果是第三方模块创建的子进程这么做就不行了
2020 年 12 月 29 日
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@black11black #1
@emSaVya #2
能识别是哪个子进程下面的子进程吗?因为可能有多个进程,并且不同进程下面都有子进程,而我只需要结束某个子进程以及该子进程下面的子进程。

python 我只知道能直接获取当前进程下面的所有子进程的 pid (子进程下面的子进程好像不行),对于我题的例子来说,能不能直接在主进程 m 处获取子进程 p 下面的所有子进程的 pid 列表呢?然后再分别终止对应 pid 。
或者如果事先对每个子进程进行有规则的命名,有没有办法通过名称来达到直接终止进程的目的呢?
1 ... 130  131  132  133  134  135  136  137  138  139 ... 157  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1091 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 23:35 · PVG 07:35 · LAX 16:35 · JFK 19:35
♥ Do have faith in what you're doing.