GNU/Linux >> Znalost Linux >  >> Cent OS

Centos – provést automatické spouštění aplikace?

Zde mám aplikaci nasazenou na linux, chci, aby se aplikace automaticky spustila při spuštění linuxu. Používám příkaz jako 'sudo ./start' pro spuštění aplikace.
Jak to mohu udělat?

OS:CentOS 6

Přijatá odpověď:

Nemohu doporučit přidávat věci do /etc/rc.local . Je to pozůstatek starých unixových časů. Existují Linuxy, které již nepodporují rc.local .

Může však správně spustit vaši aplikaci/službu, ale nikdy neukončí váš proces elegantně.

Je lepší použít vlastní systémový mechanismus init skriptů (Systemd, Upstart, …). Napsal bych rc skript, který vypadá takto (ve vašem systému může být kostra/šablona v /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 $?

Umístěte svůj skript do /etc/init.d/, udělejte jej spustitelný a přidejte jej do systémových úrovní běhu 3, 4 a 5:

chkconfig --level 345 <servicename> on

Také jej můžete ručně spustit a zastavit pomocí:

service <servicename> start
service <servicename> stop

Cent OS
  1. Automaticky spusťte službu OpenCA přes Systemd v CentOS 7

  2. Centos – Systemd ukončí službu ihned po spuštění?

  3. CentOS / RHEL 7 :Nelze spustit/povolit iptables

  1. Mezipaměť laku:Akcelerátor webových aplikací na CentOS

  2. Jak spustit GUI na CentOS/AlmaLinux/Rocky Linux 8

  3. Nelze spustit službu Nagios (CentOS/RHEL)

  1. Firewalld se na CentOS 8 s DBusException nespustí

  2. Modprobe Ath9k při spuštění?

  3. Nainstalujte Apache Solr na CentOS 7