Ubuntuマシンの起動時にスクリプトを実行するにはどうすればよいですか?


9

/home/myuser/go.pyを実行したい

Linuxマシンが起動するたびに、それをバックグラウンドで実行するにはどうすればよいですか?


ここで一般的なwhat-happens-on-ubuntu-startup:superuser.com/questions/151330/ubuntu-control-the-init-startup ...これは、重複を検討するのに「十分近い」かもしれません。
quack quixote、2010年

回答:


8

簡単な方法

このスクリプトを/etc/rc.localファイルに(exit行の前に)追加できます。例:

/home/myuser/go.py &

&最後にスクリプトがバックグラウンドで実行される場所。

実行フラグがあることを確認してください。それをテストするには、ターミナルから単純に実行します:

sh /etc/rc.local

2

起動時に実行したいすべてのスクリプトを/etc/init.d/ディレクトリ(例:)に置くことができ/etc/init.d/go.pyます。

http://www.debian-administration.org/article/Making_scripts_run_at_boot_time_with_Debian


7
/etc/rc.local実行レベルのリンクを変更する必要がないので、私は好みます。
Dirk Eddelbuettel、2010年

@DirkEddel-私はそれに同意します!
BloodPhilia

おそらく、投票できるように、これを個別の回答として追加する必要がありますか?
スティーブホーマー

2

これを行うには多くの方法があります(使用しているLinuxのディストリビューションに応じて、さまざまなツールが提供されています)。

最も簡単な方法は、スクリプトを/etc/init.dに追加してからコマンドを実行することです

chmod +x go.py
update-rc.d go.py defaults

すでにサービスを設定している場合は、chkconfigコマンドを使用して設定することもできます(つまり、コマンドが使用可能な場合)。

その場合、このコマンドは機能するはずです。

chkconfig --level 35 go.py on

チェックアウトこのサイトを、より具体的に「各ランレベルでスタートデーモンへのchkconfigの使用」および「各ランレベルでスタートデーモンにはsysv-rcの-confのを使用する」のセクションで。


0

cronには、@rebootこれを可能にする特別なオプションがあります。素敵でシンプル。

通常のcronタスクは次のようになります。

* * * * * /path/to/app

@rebootcronのタスクは次のようになります。

@reboot /path/to/app
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.