mod / assign / feedback / editpdf / testunoconv / initdcentos6
新しいinitファイルを作成します: "vim /etc/init.d/unoconvd"
#!/ bin / sh ### BEGIN INIT情報 提供します: #必須 - 開始:$ remote_fs $ syslog #必須 - 停止:$ remote_fs $ syslog #デフォルト - 開始: 2 3 4 5 #デフォルト停止: 0 1 6 #簡単な説明:起動時にデーモンを起動する #説明:デーモンが提供するサービスを有効にします。 ### END INIT情報 #UNO_PATH = /opt/libreoffice5.2/program unoconv --listener dir = "/opt/libreoffice5.2/program" #cmd = "/ usr / bin / unoconv -vvv --listener&" cmd = "/ usr / bin / unoconv --listener" user = "root" name = `ベース名$ 0` pid_file = "/var/run/$name.pid" stdout_log = "/var/log/$name.log" stderr_log = "/var/log/$name.err" get_pid ( ) { cat "$ pid_file" } is_running ( ) { [ -f "$ pid_file" ] && ps `get_pid`> / dev / null 2 >& 1 } 「$ 1」の場合 開始) is_runningの場合それから echo "既に開始しました" それ以外の echo "開始$ name" cd "$ dir" if [ -z "$ user" ] ;それから sudo $ cmd >> "$ stdout_log" 2 >> "$ stderr_log" & それ以外の sudo -u "$ user" $ cmd >> "$ stdout_log" 2 >> "$ stderr_log" & fi エコー$! > "$ pid_file" もしそうなら!が走っています;それから echo "起動できません。$ stdout_logと$ stderr_logを参照してください。" 1番出口 fi fi ;; 停止) is_runningの場合それから echo -n "$ nameを停止しています.." get_pidを殺す killall soffice.bin { 1 .. 10 }の私のために 行う もしそうなら!が走っています;それから ブレーク fi echo -n "" 眠り1 終わった エコー is_runningの場合それから エコー「停止していません。まだシャットダウン中か、シャットダウンに失敗した可能性があります」 1番出口 それ以外の エコー「停止」 if [ -f "$ pid_file" ] ;それから rm "$ pid_file" fi fi それ以外の エコー「実行されていません」 fi ;; 再起動) $ 0ストップ is_runningの場合それから echo 「停止できません。起動しません」 1番出口 fi $ 0スタート ;; ステータス) is_runningの場合それから 実行中のエコー それ以外の エコー「停止」 1番出口 fi ;; * ) echo "使用方法:$ 0 {start | stop | restart | status}" 1番出口 ;; エサック 0番出口
インストール:
chmod 755 /etc/init.d/unoconvd chkconfig --add unoconvd chkconfig --level 5 unoconvd on chkconfig --level 4 unoconvd on chkconfig --level 3 unoconvd on /etc/init.d/unoconvd start