KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 44|回复: 5

如何给所有进程发送命令

[复制链接]

70

主题

254

帖子

780

积分

高级会员

Rank: 4

积分
780
发表于 2018-11-30 11:58:58 | 显示全部楼层 |阅读模式


linux 中,怎么给所有进程发送指令啊

现在给进程发指令(运行python函数)得一个个Telnet登录到进程才能运行python函数

通过machine能发送指令么,或者有什么好的方式做到这一点




回复

使用道具 举报

70

主题

254

帖子

780

积分

高级会员

Rank: 4

积分
780
 楼主| 发表于 2018-11-30 15:51:24 | 显示全部楼层
知道了一种方式了

使用python的telnetlib 包去登录Telnet server,然后write python的commandstr 就可以了
回复

使用道具 举报

70

主题

254

帖子

780

积分

高级会员

Rank: 4

积分
780
 楼主| 发表于 2018-11-30 15:54:31 | 显示全部楼层
给个例子说明一下
  1. >>> import telnetlib
  2. >>> t = telnetlib.Telnet("192.168.112.129", 40004, timeout=20)
  3. >>> t.write(b"pwd123456\r\n")
  4. >>> t.write("print(11111111111)\r\n".encode("ascii"))
  5. >>>
复制代码


看源码,每个命令的确认是以字符 "\r\n" 作为回车的,不是单单以 "\n"

这样就能在脚本中给进程发送python的函数调用指令了


回复

使用道具 举报

5

主题

3497

帖子

214748万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2147483647

引擎扛把子

发表于 2018-11-30 17:59:33 | 显示全部楼层
cluster_controller.py
QQ:3603661
3603661@qq.com
回复

使用道具 举报

70

主题

254

帖子

780

积分

高级会员

Rank: 4

积分
780
 楼主| 发表于 7 天前 | 显示全部楼层
柯标 发表于 2018-11-30 17:59
cluster_controller.py

这个脚本是直接调用的系统的Telnet 命令,还是得手动输入密码以及想运行的python 函数,可以改造一下cluster_controller 然后用上面的Telnet方式连接就可以全程无手动了
回复

使用道具 举报

56

主题

159

帖子

1012

积分

金牌会员

Rank: 6Rank: 6

积分
1012
发表于 5 天前 | 显示全部楼层
kbengine_one 发表于 2018-12-3 10:15
这个脚本是直接调用的系统的Telnet 命令,还是得手动输入密码以及想运行的python 函数,可以改造一下clus ...

我是这样做的,起一个tornado服务,然后通过相应端口发送数据,调用globalData来告知全部进程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-10 19:39 , Processed in 0.032064 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表