>백엔드 개발 >Golang >Go에서 `exec.Command`를 사용할 때 명령줄 창이 표시되지 않도록 하는 방법은 무엇입니까?

Go에서 `exec.Command`를 사용할 때 명령줄 창이 표시되지 않도록 하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-28 02:22:15333검색

How to Prevent Command Line Windows from Appearing When Using `exec.Command` in Go?

Golang에서 Exec을 사용할 때 명령줄 창이 표시되지 않도록 방지

Go에서 exec.Command를 사용하여 새 프로세스를 생성하면 때때로 오류가 발생할 수 있습니다. 보이는 명령줄 창이 나타납니다. 이 문제는 syscall.SysProcAttr.HideWindow를 활용하여 창을 억제하는 경우에도 지속됩니다.

해결책:

표시되는 창을 생성하지 않고 명령을 실행하는 대체 접근 방식이 있습니다. 이 해결 방법은 cmd.exe 유틸리티를 사용하여 원하는 명령을 실행하는 것입니다.

코드 샘플:

import "syscall"

// Use cmd.exe to execute commands without spawning a visible window
func main() {
    cmd_path := "C:\Windows\system32\cmd.exe"
    cmd_instance := exec.Command(cmd_path, "/c", "notepad")
    cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
    cmd_output, err := cmd_instance.Output()
}

출처:

원래 솔루션은 여기에서 찾을 수 있습니다. https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/

위 내용은 Go에서 `exec.Command`를 사용할 때 명령줄 창이 표시되지 않도록 하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.