私はNiceとreniceの方法を尋ねていません UNIXのコマンド。
何が起こるかというと、私が頻繁にログインする特定のマシンでは、優先度の低い長時間実行プロセスのみを実行することが許可されています(Nice19)。このマシン上のすべてのコマンドを、「niced 19」したかのように実行する方法はありますか?
必然的に、コマンドを開始するときに「Nice 19」というプレフィックスを付けるのを忘れてしまい、リソースを大量に消費するプロセスのpidを見つけるために、ps/topをいじくり回して、それを削除する必要があります。トラブルが多すぎて、システム管理者を煩わせるリスクがあります。デフォルトでこれを行う方法はありますか?
どうもありがとう! 〜l
Bashを想定して、システムがこの機能をサポートしている場合は、これを~/.bashrc
または~/.profile
に配置します。
ulimit -e 19
テストとして、最初にコマンドラインから試すことができます。
Sysadminに、PAMの一部であり、(私のUbuntuシステム上で)/ etc/securityにある構成ファイルであるlimits.confの調整を調べるように依頼することができます。
のような行
@users hard priority 19
ユーザーアカウントによって開始されるプロセスのデフォルトの「niceness」を設定します。
試しましたか とてもいい ?それは少し古いですが、それでもあなたのニーズに優れているかもしれないプログラムのようです。
更新2019-02-06:リンクが更新されました。
この回答は、シェルがbash
であることを前提としています。
ps
またはtop
をいじくり回すのではなく、プロセスが(&
を介して)起動されていない場合は、Ctrl-zを使用してプロセスを一時停止してから実行します。 jobs -l
でpidを取得し、renice
そのpidを取得してから、bg
(BackGroundの場合)またはfg
(ForeGround)を介してジョブの実行を続行します。