草庐IT

exec_proc

全部标签

file-io - 在 golang 中,如何将 exec.Cmd 的标准输出写入文件?

我正在尝试运行shell命令,捕获标准输出并将该输出写入文件。但是,我似乎缺少一些步骤,因为当程序存在时,我尝试写入的文件是空的。如何捕获命令的标准输出并将其写入文件?packagemainimport("bufio""io""os""os/exec")funcmain(){cmd:=exec.Command("echo","'WHATTHEHECKISUP'")//opentheoutfileforwritingoutfile,err:=os.Create("./out.txt")iferr!=nil{panic(err)}deferoutfile.Close()stdoutPipe

error-handling - 在 Golang 中运行 exec.Command 时如何调试 "exit status 1"错误

当我运行下面的代码时:cmd:=exec.Command("find","/","-maxdepth","1","-exec","wc","-c","{}","\\")varoutbytes.Buffercmd.Stdout=&outerr:=cmd.Run()iferr!=nil{fmt.Println(err)return}fmt.Println("Result:"+out.String())我收到此错误:exitstatus1但是这对于调试错误的确切原因没有帮助。如何获取更详细的信息? 最佳答案 解决方案是使用Command对

go - 在 Golang 中终止以 os/exec 开始的进程

有没有办法终止在Golang中以os.exec启动的进程?例如(来自http://golang.org/pkg/os/exec/#example_Cmd_Start),cmd:=exec.Command("sleep","5")err:=cmd.Start()iferr!=nil{log.Fatal(err)}log.Printf("Waitingforcommandtofinish...")err=cmd.Wait()log.Printf("Commandfinishedwitherror:%v",err)有没有办法提前终止该进程,也许在3秒后?提前致谢

python - subprocess.Popen() : OSError: [Errno 8] Exec format error in python?

昨天,我编写并运行了一个pythonscript,它使用subprocess.Popen(command.split())wherecommand执行一个shell是构成.sh脚本及其参数的字符串。这个脚本直到昨天都运行良好。今天,我运行了相同的脚本,现在我不断遇到这个错误。p=subprocess.Popen(shell_command.split())File"/usr/lib/python2.7/subprocess.py",line679,in__init__errread,errwrite)File"/usr/lib/python2.7/subprocess.py",line

python - 仅使用 proc 获取本地网络接口(interface)地址?

如何仅使用proc获取所有网络接口(interface)的(IPv4)地址?经过大量调查后,我发现了以下内容:ifconfig使用SIOCGIFADDR,这需要打开套接字并提前了解所有接口(interface)名称。它也没有记录在Linux的任何手册页中。proc包含/proc/net/dev,但这是一个接口(interface)统计列表。proc包含/proc/net/if_inet6,这正是我需要的,但对于IPv6。通常接口(interface)很容易在proc中找到,但实际地址很少使用,除非是某些连接的明确部分。有一个名为getifaddrs的系统调用,这是您希望在Windows

python - 如何从 subprocess.Popen() 获取输出。 proc.stdout.readline() block ,没有数据打印出来

我想要执行Test_Pipe.py的输出,我在Linux上尝试了以下代码,但没有成功。Test_Pipe.pyimporttimewhileTrue:print"Someting..."time.sleep(.1)Caller.pyimportsubprocessassubpimporttimeproc=subp.Popen(["python","Test_Pipe.py"],stdout=subp.PIPE,stdin=subp.PIPE)whileTrue:data=proc.stdout.readline()#block/waitprintdatatime.sleep(.1)pr

php - php exec() 中的 sudo

我不知道这里的交易是什么……所以我想运行一个applescript:sudoosascriptmyscript.scpt这在终端中运行良好,但当我通过PHP的exec()执行它时却不行;什么都没发生。控制台说nottypresentandnoaskpassprogramspecified;TTY=unknown;…我进行了研究,似乎我缺少sudo命令的密码。我尝试了几种不同的方法来解决这个问题,包括:在/etc/sudoers中写入%adminALL=(ALL)ALL和proc_open()而不是exec()似乎都没有工作,因此让我发疯!所以基本上,有没有一种明确的方法可以让PHP执行

linux - 如何增加/proc/pid/cmdline 4096 字节限制?

对于类路径很长的Java应用程序,使用ps时,我看不到arg列表末尾附近指定的主类。我认为这源于我的Ubuntu系统对/proc/pid/cmdline的大小限制。如何提高此限制? 最佳答案 查看Java进程jps很有用。这将为您提供主类和jvm参数:jps-vl|grep 关于linux-如何增加/proc/pid/cmdline4096字节限制?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

linux - find -name "*.xyz"-o -name "*.abc"-exec 对所有找到的文件执行,而不仅仅是指定的最后一个后缀

我正在尝试运行find./-name"*.xyz"-o-name"*.abc"-execcp{}/path/i/want/to/copy/to实际上,这是一个更大的名称扩展列表,但我不知道这对这个示例很重要。基本上我想将所有找到的内容复制到另一个/path/i/want/to/copy/to。但是,它似乎只执行列表中的最后一个-name测试。如果我删除-exec部分,我希望找到的所有文件变体都会打印出来。如何让它将找到的完整文件传递给-exec? 最佳答案 find通过评估您给它的表达式来工作,直到它可以确定整个表达式的真值(真或假

PHP exec - 检查是否启用或禁用

如果exec()在服务器上启用或禁用,有没有办法检查php脚本? 最佳答案 这将检查该功能是否真的有效(权限、权限等):if(@exec('echoEXEC')=='EXEC'){echo'execworks';} 关于PHPexec-检查是否启用或禁用,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2749591/