> 백엔드 개발 > Golang > Go에서 포그라운드 또는 백그라운드 셸 명령을 실행하는 방법

Go에서 포그라운드 또는 백그라운드 셸 명령을 실행하는 방법

WBOY
풀어 주다: 2024-02-08 22:57:31
앞으로
1156명이 탐색했습니다.

如何在 Go 中运行前台或后台 shell 命令

php 편집기 Apple은 Go에서 전면 또는 배경 셸 명령을 실행하는 방법을 소개합니다. Go 언어에서는 쉘 명령을 실행하는 것이 매우 간단합니다. os/exec 패키지를 사용하면 다양한 쉘 명령을 쉽게 실행하고 출력을 얻을 수 있습니다. 전경 명령을 실행하든 배경 명령을 실행하든 Go 언어는 해당 방법을 제공합니다. 이 기사에서는 Go 언어를 사용하여 전면 또는 백그라운드 셸 명령을 실행하는 방법과 몇 가지 일반적인 사용 사례를 살펴보겠습니다. 시작하자!

질문 내용

이동에서는 명령의 출력을 검색하는 동안 사용자로부터 쉘 명령을 실행할 수 있어야 하고 포그라운드에서 실행 중인 명령만 차단해야 합니다( & 을 사용하여 실행하지 않음).

예를 들어 bash에서는 다음을 수행할 수 있습니다.

으아악

사용자는 sleep 5这样的前台命令; echo hi 会阻塞并且提示不会立即重新出现,或者他们可以输入后台命令,如 { sleep 5;回声嗨; &와 같은 것을 입력할 수 있으며 차단되지 않으며 명령이 백그라운드에서 실행되는 동안 프롬프트가 즉시 다시 나타납니다.

Go에서 어떻게 다시 만들 수 있나요? 내 시도는 다음과 같습니다.

으아악

실행 sleep 5; echo hi 会阻塞并且可以工作,但是 { sleep 5;回声嗨; } & 오류:

으아악

문맥상 사용자가 구성할 수 있는 위치로 음성 제어를 이식했습니다 runtype 等操作,其中他们的命令通过 shell 运行,并模拟按键以键入输出。用户可以使用后台命令,以便语音控制与命令一起继续,例如,他们可以在说出“菜单”时启动菜单,并且在打开时仍然能够使用语音控制: menu: runtype printf %s\n 这个那个 | dmenu &.

해결 방법

이 동작을 수행하려면 stdout을 명명된 파이프로 설정하세요.

위 내용은 Go에서 포그라운드 또는 백그라운드 셸 명령을 실행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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