2

私はDebianを使用しており、起動時に実行されるようにrc.local中に実行したいPythonスクリプトがあります。実行して終了することを目的としたテストファイルですでに動作しています。

問題は、このファイルが最終的にスケジューラを使用して無期限に実行される必要があることです。シリアル読み取り、それらの読み取りに対する少量の処理、およびMySQLデータベースへの挿入を行うのが仕事です。ただし、Ctrl + C(^ C)を使用してテストスクリプトを早期に終了できなかったため、変更が必要な場合にスクリプトをキャンセルしてログインプロンプトを表示できないことに不安を感じています。

私の望みは、これを達成するために私がちょうど欠けているいくつかのコマンドがあることです。Pythonスクリプトを終了してrc.localを終了する、欠落している別のキーコマンドはありますか?

ありがとう。

編集:ここで私を助ける別の可能な解決策は、起動中にバックグラウンドでPythonスクリプトを開始する方法があるかどうかです。したがって、スクリプトを開始してから、バックグラウンドでスクリプトを実行し続けながらログインを許可します。

これは達成できることではないと思い始めているので、私がやろうとしていることと同様のことを達成するための他の提案も役立つでしょう。

再度、感謝します。

4

2 に答える 2

1

それは私の側のばかげた間違いだったようです。

これの要点は、起動時に Python スクリプトをバックグラウンド プロセスとして実行できるようにすることだと気づいたので、シェルと viola から実行するときと同じように、スクリプト呼び出しの最後に「&」を追加しました。 「Enter」を押してパスワードプロンプトを表示します。

これがひどく間違ったことになる場合に備えて、この回答をここに入れたかったのですが、それは私が探していたものを達成します.

于 2012-12-04T15:48:13.217 に答える
0

Debian で起動時にスクリプトを実行する

  1. スクリプトを に入れます/etc/init.d/。そのため、スクリプトが という名前のファイルにある場合、そのmy_script場所は/etc/init.d/my_script.

  2. update-rc.d my_script defaultsルートとして実行します。

  3. スクリプトを実行可能にして、シバンを含めることを忘れないでください。つまり、スクリプトの最初の行は#!/usr/bin/python.

于 2012-12-04T11:22:47.463 に答える