プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • linux
  • 【Linux】「バックグラウンドプロセス」と、その「終了」(killコマンド)について
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Linux】「バックグラウンドプロセス」と、その「終了」(killコマンド)について

05.26

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

バックグラウンドプロセスとは?

通常のlsや、cd等はその場限りのコマンドで、すぐに自動でプログラムは終了します。

Linuxでは、ずっと常駐してプログラムを動かすことができます。それを「バックグラウンドプロセス」と呼びます。

プログラムをバックグラウンドで動かすには?

コマンドの最後に、「&」を入力することで、そのプログラムはバックグラウンドで動かすことができます。

コマンドの実行結果に表示されている「5067」というのは、バックグラウンドで動いているプロセスのプロセスIDを示します。

「sleep」コマンドについて

というのは、操作を指定した秒数分停止させるコマンドで、本来はフォアグラウンドで停止するのですが、バックグラウンドになっているので普通に操作ができます。

なので、psコマンドを打つと、普通にプロセスとしては存在してることがわかります。

バックグラウンドプロセスを停止させるには?

バックグラウンドプロセスを停止させるには「killコマンド」を使います。

1
kill [オプション] プロセスID

実行例

sleepプロセスが消えています。

killコマンドで指定できるオプション

オプションとして、「シグナル」という信号を送信して、プロセスの挙動を制御できます。

シグナル名 数値 説明
SIGHUP 1 ハングアップ、ハングアップするとプロセスにこの信号が送られます。プロセスはこの信号を受信すると終了します。

sshのログアウトを行ったタイミングなどで送ります。

設定ファイルの再読み込みをしたい場合などにも使われます。

SIGINT 2 キーボードからの割り込みシグナル
SIGKILL 9 強制終了、たまにSIGTERMを受け付けなくなったプロセスがある。その場合はSIGTERMではなくSIGKILLを使います。
SIGTERM 15 正常終了(オプション未指定の場合のデフォルト値)
SIGCONT 18 一時停止しているジョブへの再開シグナル
SIGSTOP 19 一時停止シグナル

他にもシグナルがあり、どのようなシグナルがあるかは以下のコマンドで確認できます。

1
man 7 signal

nohup

&をつけるだけだとterminal終了後に自動的にプログラムも終了してしまいます。nohupをコマンドの先頭につけるとSIGHUPを無視します。

1
nohup (コマンド) &

またもしnohupをつけ忘れた場合はdisownを実行すれば同じ扱いになります。

1
disown

スポンサーリンク
  • 2018 05.26
  • miyabisan2
  • コメントを書く
  • linux
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.26

    【Linux】基本的なディレクトリ構成

  2. 2022 09.03

    【Linux】「Alpine Linux」とは?

  3. 2018 06.18

    【サーバー技術】「SSL/TLS」について

  4. 2022 04.29

    【Mac】ディレクトリの空き容量調査メモ、その他Macの使い方など

  5. 2020 05.29

    【Linux】「標準入出力」や「/dev/null」について

  6. 2018 05.26

    【Linux】ユーザーを作成、削除する。

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Linux】プロセスの基本と、「ps」コマンドについ…

【Linux】「ジョブ」と「プロセス」の違いとは?

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー