V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zictos  ›  全部回复第 127 页 / 共 149 页
回复总数  2967
1 ... 123  124  125  126  127  128  129  130  131  132 ... 149  
2020-12-30 00:47:08 +08:00
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
15 楼写错了,“进程”二字全部写成了“线程”
2020-12-30 00:43:45 +08:00
回复了 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 23:43:41 +08:00
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@tonic #6
其实把子进程设为守护进程就可以让子进程在父进程被杀死时自动退出,但守护进程下面不能再创建子进程了。
p = Process(target=test) #创建子进程 p
p.daemon = True #把子进程 p 设为守护进程
p.start()
2020-12-29 19:14:08 +08:00
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
笨办法不是没有,比如每创建一个子进程就把子进程的 pid 以及归属哪个父进程的信息写入全局变量中或写入数据库或者写入文本中,然后结束时一个个判断 pid 属于哪个分组并且判断是否存在就行了。只是不知道有没有更简单的,可能有,但是没发现。另外如果是第三方模块创建的子进程这么做就不行了
2020-12-29 19:07:21 +08:00
回复了 zictos 创建的主题 Python Python 如何一次性终止某个子进程下面的所有子进程?
@black11black #1
@emSaVya #2
能识别是哪个子进程下面的子进程吗?因为可能有多个进程,并且不同进程下面都有子进程,而我只需要结束某个子进程以及该子进程下面的子进程。

python 我只知道能直接获取当前进程下面的所有子进程的 pid (子进程下面的子进程好像不行),对于我题的例子来说,能不能直接在主进程 m 处获取子进程 p 下面的所有子进程的 pid 列表呢?然后再分别终止对应 pid 。
或者如果事先对每个子进程进行有规则的命名,有没有办法通过名称来达到直接终止进程的目的呢?
2020-12-29 01:49:50 +08:00
回复了 zictos 创建的主题 Python Python 能获取光标(非鼠标)位置吗?
@ysc3839 #7 的确没原始需求了,本来是打算每次按 ctrl+c 复制文本时直接在屏幕上的光标位置显示“复制成功”,因为有时候 ctrl+c 会偶尔有失效的情况,所以有时候保险起见会多次按 ctrl+c 。
我输入文字的时候为防止意外情况一般都会每隔一段时间就按一下 ctrl+c,比如在网站上发言以及一些不能自动保存的编辑器的时候。
但后来才想起来复制文本时并不一定存在“输入光标”,比如有时候网页上不能编辑的位置的文字复制时就没有“输入光标”。
所以直接在鼠标所在位置提示就行了,一开始主要是追求完美,当时屏幕显示文字方面等其他问题都搞定了,就差这个问题。

这种功能可能游戏脚本或者一些其他鼠标键盘的自动化脚本会有用到的需求,一般的确用不到。但“凭想象”来说只要系统提供这样的接口的话一般应该是可以实现,并不是什么特别复杂的功能。
2020-12-28 20:48:17 +08:00
回复了 zictos 创建的主题 Python Python 能获取光标(非鼠标)位置吗?
这段 c++代码经测试可用,可以用 python 调用,不过还是有一些程序无法获取。看来这个确实没有比较完美的解决方案:
https://blog.csdn.net/qq78442761/article/details/104110482
2020-12-28 20:34:34 +08:00
回复了 zictos 创建的主题 Python Python 能获取光标(非鼠标)位置吗?
@Thymolblue #1 不是在网页里面
2020-12-28 09:18:39 +08:00
回复了 ccming 创建的主题 YouTube YouTube 上有比较帅的男主播推荐吗?
@WinG #6
+1, 一直有关注,视频也拍得很好,非常有特色
2020-12-26 18:52:32 +08:00
回复了 jimmyczm 创建的主题 游戏 抢了一个多月的显卡,下单按钮就没变过红色
那要看你刷新有多快,毫秒级刷新才行,所以要多开或者利用程序批量提交 http 请求
2020-12-26 12:51:02 +08:00
回复了 Junjunya 创建的主题 程序员 你会关注技术名词中的大小写么
平时在 V2EX 上发言没必要,全小写即可。否则有可能出现比如把 CPU 写成 Cpu 的风险,一律小写省事。正式场合才有必要注意点
2020-12-25 08:18:19 +08:00
回复了 VKRUSSIA 创建的主题 Android 怎样把接受到的网络请求作为 tasker 触发条件?
tomcat 服务器接受到请求后把请求的 ip 保存到剪贴板,tasker 监听剪贴板变量%CLIP 的变化
@miku831 #25 淘宝是这样的,因为他们认为签收后发现有问题就不能证明了,谁知道不是你调包或故意弄坏了呢,所以要求消费者签收时验货。但事实上根本没几个人会去验货,验货根本不现实。所以风险全在消费者这一边。
参考我在黑猫看到了一条关于拼多多的投诉,相比起来拼多多实在对消费者太好了:
https://tousu.sina.com.cn/complaint/view/17351602438/
@Maskeney #16 只是写几行代码的脚本而已,v2 上会的应该占更多数。
我只是说一个思路而已,之前也看到有人问这种问题。这种东西之所以不自己写的痛点应该是用自己的服务器比较麻烦,但 cos 就解决了服务器的问题。我之前是用自己的服务器做中转的,换服务器又要重新部署很麻烦,之前就没想到利用 cos,的确相见恨晚。
你从哪看到“美滋滋”了?真美滋滋的话那我应该把我写的“小白都会写”的脚本分享出来啊!你干脆去把“分享发现”这个分类的每个帖子都去说一句“美滋滋既视感”吧!去你主页看了下,发现大部分回复都很不友善。哎,不跟你一般见识了!
@dcty #4 安卓推送不太方便,要不就手机上要用常驻后台的程序,要不就要用谷歌服务,但谷歌的推送的延迟应该挺大的。也没有那种直接打开就直接自动复制电脑剪贴板的内容到手机剪贴板的轻量级的程序。从安全上来说,oss 或 cos 应该也稍微好一点,更要更安全可以用国外节点。
@MakeItGreat #2 这不也和 qq 或微信差不多吗?从方便性来说,跟 qq 或微信有什么区别?特别是对于平时很少用 Telegram 这个软件的人来说。我重点还是体现在一键操作
@iphoneXr #1 腾讯云 cos 客户端用于电脑手机传输文本还是不太方便的,我说的方法甚至可以用类似的思路传输一些小文件(图片和 apk 文件之类的),这样都比直接用客户端方便
2020-12-20 17:27:54 +08:00
回复了 blueboyggh 创建的主题 问与答 手机和电脑之间传送文字用什么软件方便快捷?
我是用了一台服务器做中转,服务器运行一个脚本监听一个端口。
电脑要发送文字了就连接这台服务器并发送文本,然后去手机上使用 tasker 连接这台服务器接收文本。
手机上要发送文字了就使用 tasker 连接这台服务器并发送文本,然后去电脑上连接这台服务器接收文本。
2020-12-20 17:12:48 +08:00
回复了 AmItheRobot 创建的主题 Chrome 这俩下架的 chrome 扩展 有替代品吗?
第二个用 js 小书签代替(把下面代码保存到书签中):
复制超链接中的文字(需要复制的时候点一下本书签,然后按住 ctrl 就可以复制)



javascript: (function() { var h, checked = true, down = false; document.addEventListener('mouseover', function(e) { var link, c = '', target = e.target; if (target.nodeName == 'A') { if (target.hasChildNodes) { for (var i = 0; i < target.childNodes.length; i++) { if (target.childNodes[i].nodeName == 'INPUT') return; } } link = target; } if (target.parentNode.nodeName == 'A' && target.nodeName != 'IMG' && target.nodeName != 'INPUT') { link = target.parentNode; } if (!link) return; if (checked) { h = link.href; if (link.style.cssText) c = link.style.cssText; } function _click(e) { link.removeEventListener(e.type, arguments.callee, false); e.preventDefault(); } function _keydown(e) { var k = parseInt(e.keyCode); if (k < 48 && k != 17) return; document.removeEventListener(e.type, arguments.callee, false); down = true; link.removeAttribute('href'); link.setAttribute('style', c + 'cursor:text!important;'); link.addEventListener('click', _click, false); } document.addEventListener('keydown', _keydown, false); link.addEventListener('mouseout', function(e) { var k = link.compareDocumentPosition(e.relatedTarget); if (k == 20 || k == 0) { checked = false; } else { link.removeEventListener(e.type, arguments.callee, false); link.removeEventListener('click', _click, false); document.removeEventListener('keydown', _keydown, false); checked = true; if (down) { down = false; link.setAttribute('href', h); if (c == '') { link.removeAttribute('style'); } else { link.setAttribute('style', c); } } } }, false); }, false); })();
1 ... 123  124  125  126  127  128  129  130  131  132 ... 149  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 47ms · UTC 14:24 · PVG 22:24 · LAX 06:24 · JFK 09:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.