저는 bash 스크립트를 사용하고 있으며 화면을 만들고, 메모리 제한이 있는 특정 명령을 실행하고, 화면을 분리해야 합니다.
나는 비슷한 것을 시도해 왔습니다.
#!/bin/bash
for i in 1 2 3 4 5 6 7
do
test="test"$i
screen -dmS test
screen -r test -X ulimit -v 2199552
screen -r test -X ./my_command $i
done
...하지만 작동하지 않습니다. 특히 화면은 생성되었으나 ./my_command는 실행되지 않습니다. 어떤 팁이 있나요?
답변1
우선, 당신이 원하는 것은 $test
스크립트의 줄이 아닙니다 test
.screen
-X 명령이 대기 중입니다.화면명령, 아니껍데기주문하다. 매뉴얼 페이지를 보고 실행 중인 셸에 문자를 입력하도록 화면에 지시하는 방법을 찾을 수 있지만 몇 분 내에 찾을 수 없습니다. (에흠, 화면 "stuff" 명령은 다음과 같습니다. 외부에서 스크린 세션에 입력 보내기)
또는 다음을 수행할 수 있습니다.
#!/bin/bash
for i in 1 2 3
do
test="test"$i
screen -dmS $test ./my_command $i
done
새 화면 창에서 ./my_command $i를 실행합니다.
다음과 같은 명령줄을 사용할 수도 있습니다.
screen -dmS $test sh -c "ulimit 1234;./my_command $i; exec /bin/bash"
sh -c "foobar"
새 쉘이 실행되고 foobar
명령이 실행됩니다. 여기서는 몇 가지 쉘 명령을 실행하도록 하겠습니다. 마지막 것은 exec /bin/bash
다른 쉘을 시작하므로 ./my_command가 종료되어도 화면을 잃지 않습니다.