加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用/ proc发送命令进行处理

发布时间:2020-12-14 01:03:04 所属栏目:Linux 来源:网络整理
导读:我有一个在ubuntu服务器上作为进程运行的应用程序.这个应用程序有命令行gui,允许我输入命令,然后按回车键,命令运行.我能够编写进程id的确定脚本.然后我编写以下脚本来发送命令: # echo "command" /proc/PROCESSID/fd/0 我尝试了各种变体 # echo "command" /
我有一个在ubuntu服务器上作为进程运行的应用程序.这个应用程序有命令行gui,允许我输入命令,然后按回车键,命令运行.我能够编写进程id的确定脚本.然后我编写以下脚本来发送命令:

# echo "command" > /proc/<PROCESSID>/fd/0

我尝试了各种变体

# echo "command" > /proc/<PROCESSID>/fd/0

# echo -e "commandr" > /proc/<PROCESSID>/fd/0

# echo -e "commandc" > /proc/<PROCESSID>/fd/0
# echo -e "15" > /proc/<PROCESSID>/fd/0

我知道程序正在获取命令但不执行它.我怀疑这是因为我没有按下输入,可能命令行期待这个.有人可以告诉我如何使用这个错误或更好的选择吗?

解决方法

你不能这样做. / proc / fd / 0(通常)不是您可以写入并提供进程输入的管道.

你需要做的是调用进程,其stdin来自管道(或套接字等),以便你可以将内容写入其中.

命名管道可以在这里工作(参见mknod(1)或mkfifo(3)).

否则,您将需要一个位于其前面的控制程序,并使用一对管道与之通信.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读