4

起動時にユーザーアカウントで引数を指定して1回実行する必要があるperlスクリプトがあります。

したがって、システムを起動するときは、次のようなコマンドを実行する必要があります。

./path/to/script.pl start

何か案は?

4

3 に答える 3

7

crontab で行を使用できます (crontab -e)

起動時にコマンドを実行するには:

edit /etc/crontab 次の行を追加します。

@reboot root perl ./path/to/script.pl start

^^^ root として実行します。BlackCow として実行するには、「root」を「BlackCow」に変更します。

または、upstart を使用することもできます (.conf ファイルを /etc/init/ に追加します)。ここに私のメモからのコピーと貼り付けがあります:

upstart を使用して、再起動/起動時にデーモンを実行する

例 /etc/init/prestocab.conf:

#!upstart
description "node.js server"
author      "BlackCow"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown

script
    export HOME="/root"

    exec sudo -u root /usr/local/bin/node /home/prestocab/prestocab.com/www/socket.io/server.js 2>&1 >> /var/log/prestocab.log
end script

使用するには:

start prestocab
stop prestocab
restart prestocab

# 何らかのプロセス モニターを使用して、デーモンがクラッシュした場合にデーモンを再起動することをお勧めします。

于 2011-07-15T11:34:34.283 に答える
2

Ubuntu では、次の行を/etc/rc.localファイルに追加するのが最も簡単な方法です (行の前に、自分のユーザー名exit 0に置き換えます)。username

su -c "./path/to/script.pl start" username &
于 2011-07-16T18:06:27.740 に答える