各位爹,请教一个 golang 的问题!

查看 159|回复 15
作者:eber   
各位 golang 大佬(爹),上午好!我有个菜鸡问题:如何使用 golang 的 exec.Command()函数执行 sudo ?
背景:小弟在使用 chromedp 做一个爬虫,目前一切正常,唯一的遗憾就是每次运行之前需要手动在 macOS 的终端执行 sudo /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=19222 必须加 sudo 才能打开 chrome 调试窗口。因为 golang 可以执行终端命令,所以我想使用代码去唤醒调试窗口,但是测试下来好像无法全自动调用 sudo 命令(不输入密码或密码怎么传进去)。
NessajCN   
你用 sudo 执行爬虫程序不就好了
imPrk   
cmd := exec.Command("sudo", "ls", "/root")
eber
OP
  
@imPrk 试过了,不行。。。会一直卡住,因为没输入密码。
pkoukk   
go build -o main .
sudo ./main
eber
OP
  
@NessajCN 刚试了一下,sudo 执行程序还是不会弹出 chrome 调试页。19222 也没有在监听。
fengxsong   
你把运行用户的 sudo 设置 NOPASSWD 不就行了嘛。。
imPrk   
@eber 你确定你的 Go 程式有使用 root 身份运行吗
JEME   
使用 pty 相关的库,应该可以?
aloxaf   
用 sudo -S 可以从标准输入接收密码,然后你就可以正常把密码传进去了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部