GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでプロセスを一時停止して後で再開する方法

このシナリオを想像してください。プログラムを実行します。しかし、完了するまでにどれくらいの時間がかかるかはわかりません。プロセスは数分間実行され続けます。他のいくつかの重要なプログラムがキューで待機しているため、これ以上待つことはできません。このような状況になったことがありますか?心配ない!プロセスを一時停止し、後でLinuxで再開する簡単なトリックを見つけました。

私がやろうとしていることは、現在実行中のプロセスを一時停止し、他のいくつかの重要なタスクを実行し、他のすべてのプロセスが完了した後に停止したプロセスを再開することです。

これは、マルチタスクを実行するRAMまたはプロセッサが少ない場合に非常に役立ちます。実行中のプロセスはいつでも一時停止し、後で最初からやり直すことなく再開できます。

それでは、実行中のプロセスを一時停止または一時停止し、後でLinuxおよびUnixライクなオペレーティングシステムで再開する方法を学びましょう。

プロセスを一時停止し、後でLinuxで再開します

これは絶対に簡単です! PID(プロセスID)を見つけて、 psを使用するだけです。 またはps aux コマンドを実行して一時停止し、最後に killを使用して再開します コマンド。

例を見てみましょう。 wgetを使用してUbuntu18.04ネットブートイメージをダウンロードします コマンド:

$ wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso &

ここでは、 & シンボルは実行中のタスクを移動します(つまり、wget )閉じずに背景に移動します。

ここで、このタスクを一時停止して、他の重要なタスクを実行したいと思います。これを行うには、最初にコマンドを使用して実行中のプロセスを見つけます:

$ ps

出力例:

  PID TTY          TIME CMD
30056 pts/0    00:00:00 bash
16143 pts/0    00:00:01 wget
32677 pts/0    00:00:00 ps

ご覧のとおり、wgetコマンドのPIDは 16143

ここでこのプロセスを停止しましょう。これを行うには、ターミナルから次のコマンドを実行します。

$ kill -STOP 16143

コマンドを使用して、プロセスが停止したかどうかを確認します:

$ ps

出力例:

PID TTY TIME CMD
8155 pts/0 00:00:00 bash
16143 pts/0 00:00:01 wget
16398 pts/0 00:00:00 ps

[1]+ Stopped wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

見る? wget プロセスが停止しました。

先に進み、他の重要なタスクを実行します。すべてのタスクが完了したら、次のコマンドを使用して停止したプロセスを再開します。

$ kill -CONT 16143

プロセスが実行されているかどうかを確認するには、psを実行します コマンド。

$ ps

見る?以前に停止したプロセスが再開されました!

すでに述べたように、これは、RAMまたはCPUの速度が遅いシステムでマルチタスクを実行できない場合に役立ちます。

TL; DR

まず、psコマンドを使用して実行中のプロセスのpidを見つけます。次に、 kill -STOP <PID>を使用して一時停止します 、次にシステムを休止状態にします。システムを再開し、コマンド kill -CONT <PID>を使用して停止したプロセスを再開します

システムを再起動した後も機能しますか?

システムを完全にシャットダウンまたは再起動した後でも、これは機能するのでしょうか。 いいえ 。これは、システムを再起動すると、プロセスのPIDが自動的に変更されるためです。再起動後も持続しません。このような場合、システム全体を一時停止または休止状態にし、準備ができたら再開できます。

そして、それがすべてです。 LinuxおよびUnixライクなオペレーティングシステムでプロセスを一時停止および再開する方法をマスターしました。これがお役に立てば幸いです。

おすすめの記事:

  • 特定の時間にLinuxシステムを自動シャットダウン、再起動、一時停止、休止状態にする
  • Linuxシステムをスリープモードまたは休止状態モードから自動的にウェイクアップします
  • レプティル–実行中のプロセスを閉じずに1つのターミナルから別のターミナルに移動します
  • Linuxコマンドをキューに追加して1つずつ実行する方法
  • LinuxでProcsを使用してプロセス情報を表示する方法

Linux
  1. Linuxにvtopをインストールする方法

  2. バックグラウンドプロセスを一時停止してフォアグラウンドにする方法は?

  3. メモリをディスクに保存して後で復元することにより、Linuxでプロセスを休止状態にする方法は?

  1. Linuxでゾンビプロセスを強制終了する方法

  2. Linuxコマンドをバックグラウンドで起動し、ターミナルでプロセスをデタッチする方法

  3. niceおよびreniceコマンドを使用してLinuxプロセスの優先度を設定する方法

  1. プロセス監視のために Linux に Monit をインストールして構成する方法

  2. Linux でプロセスを一時停止/再開する方法

  3. Linux:プロセスが開始された場所と開始方法を知る方法は?