LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法

LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法

1. 最初の方法は、unhup コマンドを直接使用してプログラムをバックグラウンドで実行することです。コマンドの形式は次のとおりです。

python ファイル名.py を unhup (> ***.log )&

このコマンドでは、python は実行するファイルが python ファイルであることを指定し、次のファイル名 .py は実行するファイルです。括弧内の内容は、通常コンソールに出力される内容を *.log ファイルにリダイレクトできることを示します。これはオプションです。これを行わない場合、内容はデフォルトで nohup.out ファイルに出力されます。括弧の後の & はバックグラウンド実行を示します。

2. 2 番目の方法は、スクリプトを記述し、そのスクリプトをサーバーに送信し、サーバーがスクリプト内のステートメントをバックグラウンドで実行するようにすることです。次の内容のスクリプト start.sh を定義するとします。

#!/bin/bash
実行したいファイルのパス名をcdします。python -u ***.py

上記のスクリプトで、#!/bin/bash は、こ​​のスクリプトが /bin/bash を使用して次のステートメントを解釈および実行することを意味します。cd は、現在のディレクトリから実行するファイルがあるディレクトリにジャンプすることを意味し、python -u ***.py は、***python ファイルを実行することを意味します。スクリプトを記述した後、次のコマンドを使用してスクリプトを実行し、プログラムをバックグラウンドで実行できるようにします。

./start.sh > 結果.log &

ここで、./start.shは現在のディレクトリでスクリプトstart.shを実行することを意味し、> result.logは元々コンソールに出力されたすべてのものをresult.logファイルに出力することを意味し、&はバックグラウンドで実行することを意味します。

ps -e コマンドを使用して、バックグラウンドで実行されているプロセスを表示できます。


上の図では、スクリプト start.sh と Python プログラムがバックグラウンドで正常に実行されたことがわかります。次に、cat result.log | more を通じて、コンソールに最初に出力された情報を表示できます。

注: Python ファイルで関数を実行するには、関数を定義するだけでなく、ファイル内で関数を呼び出すことも忘れないでください。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux に Redis をインストールし、バックグラウンドで実行し、システムが自動的に起動するように設定する方法
  • Linux のバックグラウンドで実行するいくつかの方法 (まとめ)
  • Linux でバックグラウンドで実行中のプログラムを表示して終了する方法
  • Linux nohup はプログラムをバックグラウンドで実行し、表示します (nohup と &)
  • Linux で jar パッケージを起動してバックグラウンドで実行する方法
  • Linux で実行中のバックグラウンド プログラムを表示および終了する方法
  • Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析
  • Linux のバックグラウンドで Springboot を実行する方法
  • Linux バックグラウンドでノード サービス コマンドを実行する方法
  • Python Nohup Linux バックグラウンド実行出力の問題を解決する
  • Linux でバックグラウンドでプロセスを確実に実行する方法の概要
  • Linuxのバックグラウンド操作とシャットダウンの詳細な説明、バックグラウンドタスクの表示
  • Linuxコマンドをバックグラウンドで実行する方法

<<:  MySQLアカウントのIP制限条件を変更する方法

>>:  CocosCreatorのホットアップデートの包括的な説明

推薦する

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

MySQL初心者のための基本操作のまとめ

図書館運営クエリ1.SHOW DATABASE; ----すべてのデータベースを照会する2. SHO...

mysql バッチで大量のデータを削除する

mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...

Typora コードブロックのカラーマッチングとタイトルシリアル番号実装コード

効果: タイトルには独自のシリアル番号があり、コードブロックには配色があり、コードブロックの左上隅に...

React Contextの理解と応用についてお話ししましょう

目次序文React Context の初見コンテキストの使い方コンテキストを直接取得できるいくつかの...

デザイン協会: なぜ間違った場所を探したのですか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

Vuex でゲッターとアクションを使用するための追加手順

予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...

フレックスレイアウトとposition:absolute/fixedの競合の詳細な説明

以前、プロジェクトを開発しているときに、flex レイアウトと position:absolute/...

HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...

CSS 変数に基づくテーマ切り替えに最適なソリューション (推奨)

この要件を受け取ったとき、Baidu は、CSS リンクの置き換え、className の変更、le...

JS はシンプルなブロック崩しピンボールゲームを実装します

この記事では、ブロック崩しピンボールゲームを実装するためのJSの具体的なコードを参考までに紹介します...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

ラベルとスパンの幅設定が無効である問題の解決

デフォルトでは、ラベルとスパンの幅の設定は無効です。一般的に、表示属性は必須ですコードをコピーコード...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

Centos 7 システムの Tomcat サーバーの詳細な分析

目次1. tomcatの起源1. Tomcat アプリケーションのシナリオ2. Tomcatに必要な...