> 백엔드 개발 > Golang > os/exec를 사용하는 것과 명령줄에서 실행하는 것의 결과는 어리둥절할 정도로 다릅니다.

os/exec를 사용하는 것과 명령줄에서 실행하는 것의 결과는 어리둥절할 정도로 다릅니다.

王林
풀어 주다: 2024-02-14 12:45:09
앞으로
976명이 탐색했습니다.

使用 os/exec 和在命令行执行之间出现令人费解的不同结果

PHP 편집기 Zimo는 PHP에서 os/exec 함수를 사용하고 명령줄에서 명령을 실행할 때 발생하는 어리둥절할 정도로 다른 결과에 대한 분석을 제공합니다. 실제 응용 프로그램에서는 명령줄에서 성공적으로 실행될 수 있는 명령이 os/exec 함수를 사용할 때 동일한 결과를 얻을 수 없는 상황에 직면할 수 있습니다. 이러한 상황은 종종 우리를 혼란스럽게 만들고 해결책을 찾기 어렵게 만듭니다. 이 글에서는 그 이유를 분석하고 os/exec 기능을 더 잘 이해하고 적용하는 데 도움이 되는 솔루션을 제공할 것입니다.

질문 내용

패키지os/exec를 사용하여 golang에서 명령을 실행하는 프로그램을 작성했습니다.

으아아아

프로그램을 실행하면 다음과 같이 인쇄됩니다. err: exit status 1

하지만 Windows 명령줄에서 taskkill /f /im vintgui.exe 명령을 실행하면. 효과가 있었습니다.

os/exec包运行命令和直接通过windows命令行(使用相同用户相同权限)运行命令有不同的结果?如何修复我的程序?

解决方法

解决方案是使用 command 对象的 stderr 패키지를 통해 명령을 실행하면 windows 명령줄(동일한 사용자 및 권한 사용)을 통해 직접 명령을 실행하는 것과 결과가 다른 이유는 무엇입니까? 내 프로그램을 어떻게 고칠 수 있나요?

해결 방법

해결책은 command 개체의 stderr 속성을 ​​사용하는 것입니다. 다음과 같이 할 수 있습니다:

으아아아

상황에 따라 바꿔보세요

으아아아 🎜to🎜 으아아아 🎜모든 매개변수를 하나의 문자열로 결합하지 마세요. 🎜

위 내용은 os/exec를 사용하는 것과 명령줄에서 실행하는 것의 결과는 어리둥절할 정도로 다릅니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿