• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
    • app.tool_clock
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
CentOSはバックグラウンドプロセスをどのように実行し、制御しますか?
2022-01-05

リモートのLinuxサーバにsshでログインし、時間のかかるタスクを実行したが、ネットワークなどの不安定さでタスクが途中で失敗したという問題によく遭遇します。

これは、ユーザがログアウト(logout)またはネットワークが切断されると、端末がHUP(hangup)信号を受信してすべてのサブプロセスを閉じるためである。

解決策は、プロセスにHUP信号を無視させるか、新しいセッションでプロセスを実行させてこの端末に属さないサブプロセスにするかの2つです。

Linuxでバックグラウンド・プロセスを実行および制御する方法について説明します。 1.nohup

名前の通り、nohupの用途は、コミットされたコマンドにすべてのhangup信号を無視させることです。

使用方法:nohup COMMAND[ARG]…

2.setsid

新しいセッションでコマンドを実行することで、現在の端末からのHUP信号を避けることができます。

使用方法:setsid COMMAND[ARG]...

3.&

()と組み合わせて新しいサブシェルを生成し、現在のシェル端末のHUP信号の影響を受けないように、このサブシェルでタスクをバックグラウンドに配置して実行することができる。

使用方法:(COMMAND[ARG]……&)

私の一般的な使い方は次のとおりです。

nohup ./filename.sh > filename.log 2>&1 &

nohup ./filename.sh &> filename.log &

3つの理由:

1)nohup保障プロセスはhangup信号によって異常に中断されない。

2)タスクをバックグラウンドに配置して実行し、現在の端末を占有しない。

3)エラー出力もlogに印刷し、デフォルト>標準出力のみ、エラー出力はありません。

4.プロセスの制御

以下のコマンドにより、バックグラウンドに挿入されたコマンドを制御できます。

現在の端末のバックグラウンド・プロセスを表示するには、次の手順に従います。

直接実行:jobs

表示されたバックグラウンド・プロセスをフロントに戻します。

直接入力:fg{jobid}//ここの{jobid}はjobsコマンドで見られるプロセス前の[]の数字です。

現在フロントで実行中のプロセスをバックグラウンドで実行します。

ショートカットキーを押してください:ctrl+z//現在実行中のプロセスを一時停止します。

再実行:bg

現在フロントで実行中のプロセスを終了します。

ショートカットキーを直接叩く:ctrl+c

5.disown

亡羊補牢は、nohupとsetsidを使用しないプロセスにHUP信号を無視する機能を加えた。

使用方法:

現在フロントで実行中のプロセスをバックグラウンドで実行します。

次にdisown-h%{jobid}//ここでの{jobid}はjobsコマンドで見られるプロセス前[]の数字です。

6.screenによる安定したバックグラウンド運転

screenは、手動でexitを入力したときにのみ終了する新しいフルスクリーン仮想セッション端末を構築しています。このセッションで実行されるコマンドは、HUP信号が私たちのプロセスに影響を与える心配はありません。そのため、各コマンドに「nohup」や「setsid」を加える必要はありません。多くのバックグラウンドタスクを計画的に実行するのに適しています。これらのバックグラウンドタスクを管理するのに非常に便利です。

使用方法:

screen//すぐにセッションを作成して入ります。

screen-dmS{name}//フラクチャモードのセッションを確立し、必要に応じてセッション名を指定します。

screen-list//すべてのセッションをリストします。

screen-r{name}//は、指定したセッションに独占的にアクセスします。

screen-x{name}//指定したセッションに並列にアクセスします。

ctrl+ad//ショートカットctrl+aとdを入力すると、現在のセッションを一時的に終了できます。

exit//指定されたセッションに入ったらexitを実行してセッションを閉じます。


ソース元URL:https://dopubox.com/article/p/1d1e74e8f1c3b269

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes app.tool_clock
  • ジョン・レノンのギター4億5千万円で落札
    2024-05-30

    <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    住所要件の指摘受け自主的に転入 東京・足立区の20代選管委員・古野香織さん
    2024-05-30

    小学館も来週に報告書公表
    2024-05-31

    むのたけじ賞、名称変更 「生前に障害者差別発言」
    2024-05-31

    【6月1日~2日】週末必見の“アート&デザイン”まとめ!
    2024-06-01

    森鷗外の教師像に迫る 研究の「盲点」、記念館で特別展 学生の評判も紹介
    2024-06-01

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    「CLAMP展」が国立新美術館で7月より開催。展示数は史上最多の約800点
    2024-06-04

    105歳で死去した画家弥勒祐徳さん おごらず、黙々と、ひたすらに神楽など描く
    2024-06-05

    3日間限定発売! 名作パントンチェアが新たな魅力を纏った限定カラーで登場。
    2024-06-05

    ビル・エヴァンスの名言「才能なんて取るに足りない」【本と名言365】
    2024-06-05

    フィギュアスケートにもぴったり! ハチャトゥリアン作曲の『仮面舞踏会』【クラシック今日は何の日?】
    2024-06-06

    「art stage OSAKA 2024」が9月に開催。大阪・関西万博への機運も醸成
    2024-06-05

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    佐渡金山、世界遺産登録に向け「追加情報の提出」求められる
    2024-06-06

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    アキナの山名さん骨折 毎日放送、ロケ中に転倒
    2024-06-06

    ©  Dopu Box
    💛