SRM Linuxを停止する方法は?


0

SRMを使用して1つのファイルを削除しています。すでに12時間のsrmは7GBファイルを削除するために機能しており、3つ星しかありません***

それを停止する方法や一時停止する方法はありますか?


srmデフォルトで38パスを行うため、228GBを書き込んでファイルを削除します。すでに数回ファイルを上書きしているでしょう。あなたはそれをコントロール-cし、後で安全性の低いパスを行うことができます-蓄積すると同じことになる可能性があります。
ポール

ありがとう。上書き速度とおおよその時間を確認するにはどうすればよいですか?
User9532

1
STOPシグナルを送信してプログラムを一時停止し(終了を意味するわけではありません)、CONTシグナルで再開できます。これは、killオプションまたはタスクモニターから実行できます。一時停止状態は、再起動後に再開されませんが、スリープまたは休止状態は問題ありません。
AFH

回答:


0

コマンドライン/テキストモードプログラムを殺すためのクラッシュコース

@AFHのコメントを詳しく説明すると、「SRM」がコンソール(コマンドラインインターフェイス)プログラムであり、ターミナルから実行した場合、単にヒットするだけです。Ctrl-zこれにより、ターミナルはそのSIGSTOPシグナルを管理してフォアグラウンドプロセスを送信し、送信します背景に。その後、fgシェルコマンドを実行して「戻す」ことができます。これは、対話型シェルによって実装されるいわゆる「ジョブコントロール」の一部であり、プロセスの送信を含む、バックグラウンドプロセスをフォアグラウンド(したがって「fg」)SIGCONTとりわけ信号。

もちろん、プロセスを停止するには、停止してください。LinuxベースのOSを含むUnix-yシステムでは、これはプロセスに特別なシグナルの1つ(通常SIGTERMまたは)を送信することで行われSIGINTます。Ctrl-cプロセスを実行する端末を押すと、プロセスにSIGINTシグナルが送信されます。このkillプログラムは、任意のプロセスに任意の信号を送信するために使用できます。

使用の問題killは、その使用のほとんどで、ユーザーが信号を送信するプロセスのいわゆる「PID」を知る必要があることです。PIDは、Pの rocessのID現在OSが管理するすべてのプロセス間で一意entifier-整数≥1。

シェルのジョブ制御では、管理するプロセスを参照するニーモニックがあるため、簡単になります:を押して現在アクティブなプロセスをバックグラウンドにするCtrl-z場合、jobsコマンドを使用してそのシェルで管理されているプロセスのリストを表示できます。たとえば、のインスタンスを一時停止し、その後mutt 実行jobsしました。ここに私が見るものがあります:

~$ jobs
[1]+  Stopped                 mutt

その[1]+ビットに注意してください。1シェルがそのプロセスに割り当てられたジョブの識別子です。+最後のバックグラウンドにプロセスを参照するための「ハンドル」です。

したがって、次のように、そのプロセスを参照するためにコマンドのいずれか%1またはコマンドを使用できます%+kill

$ kill %1

または

$ kill %+

…そして、それらはすべてSIGTERM単一のバックグラウンドプロセスに送信されます。

これが、不正なコンソールプログラムを強制終了する方法です。

単数形の詳細

それらSIGINTSIGTERMシグナルは、それらの1つを受け取ったプロセスによって「処理」できることに注意してください。これにより、プロセスは終了前に特定のクリーンアップアクションを実行できます。

しかし、プロセスが「ハング」する場合があります。たとえば、プログラミングのバグのためにCPUで無限ループを実行したり、切断されたネットワーク共有などの「デッド」リソースのファイルを読み書きしようとしてスタックしたりする場合です。これらの場合、プロセスを配信するSIGINTSIGTERM、通常はプロセスを「ウェッジ解除」できません。

このような場合に対処するために、特別な信号が存在しますSIGQUIT。これには、よく知られた番号「9」が割り当てられています。プロセスにこのシグナルを送信すると、OSは介入する機会がなく、プロセスを強制的に無効にします。だからこそ、おそらくあなたkill -9 $pidはいくつかのドキュメントでその法典を見たでしょう。

別のオプション

もちろん、他のオプションもあります。

まず、htop実行中のプロセスの検索可能なリストを提示し、それらのいずれかに選択のシグナルを送信できる「ユーザーフレンドリー」プログラムが存在します。

GNOME、XFCE、KDEなどのグラフィカルデスクトップ環境は、通常、同じことを行うためのGUIアプリを提供します。

第二に、これらの「タスクマネージャ」が利用できないか、何らかの理由で法案に合わない場合に、不正なプロセスに対処するためのより「ハッキング」な方法が存在します。以下に、それらの一部を順不同で示します。

  • xkill(Debianとそれは中だその誘導体のユーティリティx11-utilsの実行には、あなたがそれにcickingことにより、任意のウィンドウを選択するべきである、と対角十字カーソルを示し、パッケージ)xkillを強制的にそのウィンドウを所有しているプロセスが切断されますがXサーバー(すべてのGUIをレンダリングするプログラム)。

    このアクションの効果はプロセスによって異なりますがxkill、ターミナルウィンドウの場合は、SIGHUP管理するプロセスにシグナルを送信するため、通常は終了します。

  • pkill(Debianとその誘導体、それは中だ上のユーティリティprocpsパッケージには)名前が特定の文字列と一致する一連のプロセスにシグナルを送信するために使用することができます。

    したがって、srmシステムで実行されていることがわかっているプロセスを強制終了する場合は、次を実行できます。

     $ pkill -9 srm
    

srmシステムで実行されているという名前のすべてのプロセスを停止します。


-1

本当の答えはこちら

TL; DR(最新のディスク(および7GBのファイルを保持できるものを含む)を使用する場合)

ファイルをゼロで上書きするだけでよいので:

shred -n 0 -z trashed.dat
  • ここで、-n 00はランダムデータでパスすることを意味します(それなしでは、ランダムデータでデフォルトの3パスを取得しますが、それでも過剰です)
  • -z ゼロを含む1つの最終パス(必要なものは1つのみ)

これを考慮して、安全な消去を効率的に完了するには:

  1. 現在のコマンドを停止します
  2. shred上記のコマンドを実行します

突然のカルマ落下に対するブレース...


質問は「これが必要ですか」ではなく、「どうすれば一時停止できますか」でした。したがって、これは質問に対する答えではありません。
ポール

はい、そうです。XY問題のX部分に答えてください...それを止めて、はるかに高速に実行される他の何かを使用してください。
キセノイド

それを含めて、解決策は質問に対する答えになるでしょうが、そうではありません。編集して詳細を入力してください。
ポール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.