응용 프로그램이 자동으로 시작되도록 설정

응용 프로그램이 자동으로 시작되도록 설정

여기에는 Linux에 배포된 애플리케이션이 있고 Linux가 시작될 때 애플리케이션이 자동으로 시작되기를 원합니다. 'sudo ./start'응용 프로그램 시작과 같은 명령을 사용하고 있습니다 . 어떻게 해야 하나요?

운영 체제: CentOS 6

답변1

나는 그것을 추천하지 않습니다 /etc/rc.local. 이것은 옛날 유닉스 시절의 유물입니다. 일부 Linux는 더 이상 지원되지 않습니다 rc.local.

그러나 애플리케이션/서비스가 올바르게 시작될 수는 있지만 프로세스가 정상적으로 종료되지는 않습니다.

시스템 자체의 초기화 스크립트 메커니즘(체계,갑자기 나타나다,...). 다음과 같은 rc 스크립트를 작성하겠습니다(시스템에 뼈대/템플릿이 있을 수 있음 /etc/init.d/skeleton).

#!/bin/bash
. /etc/init.d/functions

start() {
        echo -n "Starting <servicename>: "
        #/path/to/the/executable/of/your/application
}

stop() {
        echo -n "Shutting down <servicename>: "
        #command_to_gracefully_end_the_application
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
    #command_to_report_the_status
    ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: <servicename> {start|stop|restart}"
        exit 1
        ;;
esac
exit $?

스크립트를 /etc/init.d/에 넣고 실행 가능하게 만든 다음 시스템에 추가합니다.런레벨3, 4, 5:

chkconfig --level 345 <servicename> on

수동으로 시작하고 중지할 수도 있습니다.

service <servicename> start
service <servicename> stop

답변2

/etc/rc.local대부분의 Linux는 시스템 시작 시 한 번 실행됩니다. 편집기로 이 파일을 열고 명령을 추가하여 애플리케이션을 시작하세요.

sudo스크립트는 루트로 실행되므로 명령 앞에 접두사를 붙일 필요가 없습니다.

백그라운드에서 명령을 실행하려면 명령 끝에 "&"(앰퍼샌드)를 추가해야 합니다. 그러면 응용 프로그램이 한 번에 명령을 완료할 수 없는 경우 시스템이 시작되는 것을 방지할 수 있습니다.

myscript다음에 위치한 파일을 실행하는 예/usr/local/bin/

# place near the end of /etc/rc.local
/usr/local/bin/myscript &

답변3

cron을 사용하면 저에게 효과적이었습니다.

# enter crontab edit
crontab -e

# place this inside the cron file you opened with the previous command
@reboot /path/to/your/script.sh

관련 정보