(sed's/^/lineofoutput:/')done 사용자는 다음과 같이 입력할 수 있습니다. sleep5 이러한 전경 명령은 echohi가 차단되고 프롬프트가 즉시 다시 나타나지 않거나 다음과 같은 배경 명령을 입력할 수 있습니다."/> (sed's/^/lineofoutput:/')done 사용자는 다음과 같이 입력할 수 있습니다. sleep5 이러한 전경 명령은 echohi가 차단되고 프롬프트가 즉시 다시 나타나지 않거나 다음과 같은 배경 명령을 입력할 수 있습니다.">

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

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

WBOY
WBOY앞으로
2024-02-08 22:57:311088검색

如何在 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으로 문의하시기 바랍니다. 삭제