英文:
How to get the arguments of a third-party process
问题
有一个进程,例如 test.exe,它使用参数 --argument1 --argument2 启动,并且这些参数可以通过任务管理器看到。
问题:我如何通过 Golang 获取这些参数?
英文:
There is a process, for example test.exe , it is launched with arguments --argument1 --argument2 and they are visible through the task manager.
Question: How do I get these arguments through golang?
答案1
得分: 1
我找到了解决方案。
import (
"github.com/shirou/gopsutil/v3/process"
)
func main() {
processes, _ := process.Processes()
for _, process := range processes {
cmd, _ := process.Cmdline()
fmt.Println(cmd)
}
}
这是一个Go语言的代码片段,它使用了github.com/shirou/gopsutil/v3/process
包来获取系统中所有进程的命令行信息,并将其打印出来。
英文:
I found solution.
import (
"github.com/shirou/gopsutil/v3/process"
)
func main(){
processes, _ := process.Processes()
for _, process := range processes {
cmd, _ := process.Cmdline()
fmt.Println(cmd)
}
}
答案2
得分: 0
程序实际上是通过标志启动的:--arg1=value --arg2=anotherValue
我更倾向于使用Go的flag
包来采用惯用的方法。
最好避免通过添加外部包来增加程序的复杂性,特别是当Go已经有适合你需求的东西时。
这里有一个用法示例。
英文:
The program is actually launched with flags: --arg1=value --arg2=anotherValue
I'd rather suggest an idiomatic approach using Go's flag
package.
It's always better to avoid increasing complexity to your programs by adding external packages, specially when Go has something for your need.
Here is a usage example.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论