为了账号安全,请及时绑定邮箱和手机立即绑定

Go中的ForkExec和Su问题

Go中的ForkExec和Su问题

Go
天涯尽头无女友 2021-04-05 17:15:32
我编写了一个在Go中使用ForkExec的程序。command := "/bin/su -c '/bin/ls -lh / >/tmp/sC0X3kASz7' joe"pid, err := os.ForkExec(command, []string{}, os.Environ(), "", []*os.File{nil, cmd.Stdout, cmd.Stderr})如果您在Shell上执行该命令,您cat /tmp/sC0X3kASz7是否会看到列出的文件。但是,上面的ForkExec仅创建文件,并且在其中不写入任何内容。知道为什么会这样吗?走是根。编辑:command := "/bin/ls -lh / >/tmp/sC0X3kASz7"也不起作用,只是尝试。它甚至没有创建/ tmp文件。edit2:command := "/bin/bash /tmp/command.txt"我将上述命令放入该txt文件中,再次,从Shell执行,从ForkExec创建文件-不,:(edit3:解决方案在这里http://code.google.com/p/go/issues/detail?id=428
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

用户joe是否可能出于某种原因而无法列出/?stderr似乎无处可去。


查看完整回答
反对 回复 2021-04-26
  • 1 回答
  • 0 关注
  • 325 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号