백그라운드에서 기능을 실행하는 방법은 무엇입니까?

백그라운드에서 기능을 실행하는 방법은 무엇입니까?

스크립트를 생성하고, 여기에 데이터를 붙여넣고, 저장하고, 실행하고, 삭제합니다.

vi ~/ms.sh && chmod +x ~/ms.sh && nohup ~/ms.sh && rm ~/ms.sh

#!/bin/bash

commands...

function myFunc {

commands...
}

myFunc ()

myFunc백그라운드나 다른 프로세스에서 올바르게 실행하려면 어떻게 해야 합니까 ? 가능하다면?

답변1

프로그램을 사용할 수 있는 거의 모든 곳에서 쉘 기능을 사용할 수 있습니다. 쉘 함수는 해당 함수가 작성된 범위 외부에 존재하지 않는다는 점을 기억하십시오.

#!/bin/bash
#
f() {
    sleep 1
    echo "f: Hello from f() with args($*)" >&2
    sleep 1
    echo "f: Goodbye from f()" >&2
}

echo "Running f() in the foreground" >&2
f one

echo "Running f() in the background" >&2
f two &

echo "Just waiting" >&2
wait

echo "All done"
exit 0

답변2

&로 끝나는 다른 쉘 명령이나 스크립트와 마찬가지로 백그라운드에서 실행할 수 있습니다 .

(Bash 및 유사한 셸을 사용하면 명령을 및 와 결합 할 수도 있습니다 ). 예를 들면 다음과 같습니다.

(command1; command2) &

관련 정보