如何解决在子进程中运行的C程序的标准输出未显示在EC2实例上
我正在运行在子进程中运行C程序的Python服务。当我在笔记本电脑上本地运行时,C程序的标准输出(程序中的printf语句)会实时显示,而在EC2实例(Linux AMI)上运行时,则不会显示。 >
我看到正在创建子流程的日志,但此后什么也没有。
关于为什么会发生这种情况的任何建议?这个C程序运行了很长时间,我需要查看输出以进行调试。
编辑:
根据要求,我添加了更多上下文和示例命令:
要编译C文件:
subprocess.call(["gcc","cfile.c","-ocfile","-lm","-mcmodel=medium"])
要运行:
subprocess.call(["./cfile",str(args[0])],stdin=sys.stdin)
当我在Macbook上本地运行时,它会运行'cfile'并在终端上打印所有printf语句。
但是,当我在Linux EC2实例上运行它时,它可以运行,但是不打印printf语句,如该图所示。
这是因为当它在EC2上运行时,我已以ec2-user身份登录,但该帐户以root用户身份运行?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。