Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A


2
特定のPIDが実行されているかどうかを確認するにはどうすればよいですか?
ログファイルを解析してPIDを収集し、そのPIDが実行されているかどうかを確認するPerlスクリプトを作成しています。私はそのチェックを行うための最良の方法を考えようとしています。明らかに、私は次のようなことができます: system("ps $pid > /dev/null") && print "Not running\n"; ただし、可能な場合はシステムコールを避けたいと思います。そのため、/procファイルシステムを使用できると考えました(移植性は問題ではありません。これは常にLinuxシステムで実行されます)。例えば: if(! -d "/proc/$pid"){ print "Not running\n"; } それは安全ですか?/proc/$pid/ディレクトリがない場合、関連するPIDが実行されていないと常に想定できますか?AFAIK ps自体は/procとにかくその情報を取得するので、私はそう期待していますが、これは本番コード用であるため、確実にしたいです。 それで、実行中のプロセスに/proc/PIDディレクトリがない場合や、/proc/PIDディレクトリが存在し、プロセスが実行されていない場合がありますか?psディレクトリの存在を確認するよりも解析を好む理由はありますか?

3
孤立したiノードとは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 iノードとは何かを理解していますが、孤立したiノードの正確な定義は何ですか?私は本当にそれが何を意味するのか分かりません。 更新 私が管理していたサーバーがiノードを使い果たしたことがありましたが、df -hを実行すると、サーバーの使用領域が60%しかなかったことがわかりました。これは孤立したiノードのせいだと思います。すべてのiノードを使い果たすことはできますが、サーバーにまだ「スペース」が残っていますか?あなたの答えでこれに対処できますか?


3
dd:複数のディスクに書き込みますか?
2つのまったく同じフォーマット、同じサイズ、同じブランドのSDカードがあります。私がしたいddの画像/dev/disk2とを/dev/disk3同時に。 擬似コード sudo dd bs=1m if=/Users/masi/2016-05-10-raspbian-jessie.img of={/dev/disk2,/dev/disk3} dd1つの入力から多くの出力SDにどのようにできますか?
16 files  dd  output 

2
xmonadの起動時にウィンドウスタックの上部にxmobarが表示されない
私がxmobar入った直後の奇妙な行動を経験していますxmonad。i xmonad(から.xinitrc、XDMを使用)xmobarが表示されますが、ウィンドウスタックの最上部または最下部にありません。アプリケーションを起動すると(例:を押してターミナルエミュレーターMod + Shift + Return)、アプリケーションは画面全体を使用しますxmobar。それから私プレスMod + B私は押したらと何が起こるMod + B二回目は、xmobarアプリケーションウィンドウのサイズを小さく先頭に持ち上げられます。 その後Mod + B、xmonadセッションの残りの部分で正常に動作しxmobarます。つまり、。を下げる/上げる(非表示/表示する) 私は何かを誤って設定したと確信しています。私のxmonad.hsように見えます: import XMonad import XMonad.Hooks.SetWMName import XMonad.Hooks.DynamicLog main = do xmonad =<< statusBar "xmobar" myPP toggleStrutsKey defaultConfig { terminal = "urxvt" , focusFollowsMouse = True , clickJustFocuses = False , borderWidth = 1 , modMask = mod4Mask …
16 xmonad 

1
これらのbash fork爆弾の動作が異なるのはなぜですか。
通常のフォーク爆弾がどのように機能するかはわかりますが、一般的なbashフォーク爆弾の最後に&が必要な理由と、これらのスクリプトの動作が異なる理由はよくわかりません。 :(){ (:) | (:) }; : そして :(){ : | :& }; : 前者は、ログイン画面に戻る前にCPU使用率の急上昇を引き起こします。後者は代わりにシステムをフリーズさせ、ハードリブートを強制します。何故ですか?どちらも継続的に新しいプロセスを作成しますが、なぜシステムの動作が異なるのですか? また、両方のスクリプトは、 :(){ : | : }; : 似ていると思っていたとしても、問題はまったく発生しません。bashのマニュアルページには、パイプラインのコマンドはすでにサブシェルで実行されていると記載されているため、次のように信じられます。:すでに十分です。私は信じており、新しいサブシェルでパイプラインを実行する必要がありますが、なぜそんなに変わるのですか? 編集:htopを使用してプロセスの量を制限すると、最初のバリアントはプロセスの実際のツリーを作成し、2番目のバリアントは同じレベルのすべてのプロセスを作成し、最後のバリアントはプロセスを作成しないように見えましたまったく。これは私をさらに混乱させますが、おそらくそれが何らかの形で役立つのでしょうか?

2
Network Managerを介して名前で接続を削除する方法
nmcli名前でwifi接続を削除するにはどうしますか? 私が読んだことから、それはUUIDを介した削除のみを許可します: nmcli connection delete <uuid> 名前で削除することがわかった最も簡単な方法は、名前からUUIDを検索し、それを渡すことです。 nmcli con delete `nmcli --fields NAME,UUID con list | grep -i mynetworkname | awk '{print $2}'` もっと簡単な方法はありますか?

5
多数の大きなファイルを高速で圧縮する
毎日約200 GBのログデータが生成され、約150の異なるログファイルに分散されています。 ファイルを一時的な場所に移動し、一時ディレクトリでtar-bz2を実行するスクリプトがあります。 200 GBのログは約12〜15 GBに圧縮されているため、良い結果が得られます。 問題は、ファイルの圧縮に永遠に時間がかかることです。cronジョブは、毎日午前2時30分AMに実行され、5まで実行し続けます:00-6:00 PMを。 圧縮の速度を改善し、ジョブをより速く完了する方法はありますか?何か案は? 他のプロセスとすべての心配しないで、圧縮が起こる場所は、上にあるNAS、そして私は、専用のNASマウント実行することができVMをし、そこから圧縮スクリプトを実行します。 参照用のtopの出力は次のとおりです。 top - 15:53:50 up 1093 days, 6:36, 1 user, load average: 1.00, 1.05, 1.07 Tasks: 101 total, 3 running, 98 sleeping, 0 stopped, 0 zombie Cpu(s): 25.1%us, 0.7%sy, 0.0%ni, 74.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.1%st Mem: 8388608k total, 8334844k used, …

2
crondは夏時間+1時間の変更を処理しますか?
先週末、時刻を02:00から03:00に変更する必要がありました。 質問: 02 :30に cronjobがあった場合はどうなりますか? crondはスケジューリングのための非常に古いソリューションであり、おそらくそれを処理する必要がありますが、方法はわかりません。
16 cron  clock  dst 

12
重複行をペアで削除しますか?
今日、このユースケースに出会いました。これは、一見シンプルなようだが、と周りいじるsort、uniq、sedそしてawkそれは自明だことを明らかにしました。 重複行のすべてのペアを削除するにはどうすればよいですか?つまり、指定された行の重複が偶数個ある場合は、それらをすべて削除します。重複する行の数が奇数の場合、1つを除くすべてを削除します。(ソートされた入力を想定できます。) クリーンでエレガントなソリューションが望ましいです。 入力例: a a a b b c c c c d d d d d e 出力例: a d e

3
100%CPUを消費するupowerd
upowerdはCPUのほぼ100%を消費しています。 現在、Lenovo Thinkpad E520とCore i7およびAsus Z170aマザーボードを実行しているデスクトップPCの両方でこの問題の影響を受けています。両方ともKubuntu 15.10。を実行します。しかし、私は数年前にいくつかの異なるディストリビューション(FedoraからArch、Ubuntuまで)でこの問題の報告を見つけました。 これらのバグレポートを見つけましたが、回避策や解決策は見つかりません。 FS#40444:[upower] upowerd 0.99.0-2はすべてのリソースを消費し ますhttps://bugs.archlinux.org/task/40444 バグ#861642「upowerdは殺されるまで100%CPUを使用」:バグ:upowerパッケージ:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/861642 バグ#876279「Upowerdの過剰なCPU使用」:バグ:upowerパッケージ:Ubuntu https://bugs.launchpad.net/ubuntu/+source/upower/+bug/876279

7
ディレクトリツリー/ファイル名を使用する場合のコンパクトbashプロンプト
Ubuntu 14.04およびのシステムでは、次の内容で終わる変数bashがありPS1ます。 \u@\h:\w\$ プロンプトが次のように表示されるように user@machinename:/home/mydirectory$ ただし、現在のディレクトリに長い名前がある場合や、長い名前のディレクトリ内にあるため、プロンプトが次のようになる場合があります。 user@machinename:/home/mydirectory1/second_directory_with_a_too_long_name/my_actual_directory_with_another_long_name$ これは端末の行を埋め、カーソルは別の行に移動しますが、これは迷惑です。 代わりに次のようなものを取得したい user@machinename:/home/mydirectory1/...another_long_name$ PS1短いプロンプトを取得して、特定の文字数を超えないように、ディレクトリ名を「ラップ」および「コンパクト」にする変数を定義する方法はありますか?

3
U + xxxxxコードで指定された絵文字をutf-8に変換する方法は?
絵文字はU + xxxxxの形式を使用して指定されているようです 。各xは16進数です。 たとえば、U + 1F615は「混乱した顔」の公式Unicodeコンソーシアムコードです😕 よく混乱するので、このシンボルには強い親和性があります。 U + 1F615 Iは、Unicode文字のための唯一のエンコーディングが可能と思ったので表現は私に混乱して5進数字は、5x4 = 20ビットを必要とするのに対し、8、16、24または32ビットを必要としました。 このシンボルは、bashのまったく異なる16進文字列で表されているように見えることがわかりました。 $echo -n 😕 | hexdump 0000000 f0 9f 98 95 0000004 $echo -e "\xf0\x9f\x98\x95" 😕 $PS1=$'\xf0\x9f\x98\x95 >' 😕 > U + 1F615が\ x00 \ x01 \ xF6 \ x15のようなものに変換することを期待していました。 これら2つのエンコーディングの関係が見当たらないのですか? 公式のUnicode Consortiumリストでシンボルを検索するとき、この退屈な方法で手動で変換することなく、そのコードを直接使用できるようにしたいと思います。すなわち いくつかのWebページでシンボルを見つける Webブラウザーのクリップボードにコピーする bashに貼り付けて16進ダンプをエコーし​​、REALコードを検出します。 …

5
リモートマシンでスクリプトを並行して実行する方法は?
64コアのリモートマシンにsshできます。このマシンで640個のシェルスクリプトを並行して実行する必要があるとしましょう。どうすればいいですか? 640個のスクリプトを、それぞれ10個のスクリプトの64個のグループに分割できます。次に、これらの各グループを並列に実行するにはどうすればよいですか、つまり、使用可能なコアのそれぞれに1つのグループを追加します。 フォームのスクリプトでしょうか ./script_A & ./script_B & ./script_C & ... どこscript_Aが最初のグループ、script_B2番目のグループなどに対応しますか? 1つのコアで実行される1つのグループ内のスクリプトは連続して実行できますが、グループをすべてのコアで並列に実行する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.