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 중국어 웹사이트의 기타 관련 기사를 참조하세요!