Unix & Linux

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

1
「su -c <command>&」がハングアップせずにコマンドをバックグラウンドで実行できるように見えるのはなぜですか
私は、バックグラウンドプロセスで断続的に死ぬ問題を抱えていた同僚を助けていました。 サーバーにログインして実行することでバックグラウンドプロセスを開始していることがわかりました。 su - &lt;user&gt; -c '&lt;command&gt;' &amp; 「あは」と叫びました。「コマンドを「&」で開始すると、制御端末を終了するときにハングアップします。これを行うには、nohupなどを使用する必要があります。このプロセスは、デーモンとしての実行をサポートする必要があります。」 上記のコマンドをテストして私のポイントを実証しましたが...動作しているようです:上記のコマンドを実行したターミナルを終了したときに、コマンドによって開始されたプロセスが終了しませんでした。 コマンドは、出力がファイルに送られるカスタムPythonスクリプトです。私の知る限り、スクリプトにはインテリジェントな「デーモン化」のような機能はありません。Wikipedia:Daemon(computing):Creationページにリストされているデーモンとして実行するために必要なことは何もしません。 このようにコマンドを実行すると、期待どおりに動作します。 &lt;command&gt; &amp; exit 上記の場合、ターミナルを終了すると、コマンドによって開始されたバックグラウンドプロセスが終了します。 私の質問はこれです: 端末が終了したときにプロセスが終了しないようにする「su--c&」を追加するとどうなりますか。制御端子、標準入出力などについて詳しく知りたい これは、このコマンドをバックグラウンドプロセスとして実行するという目標を達成するための合理的な方法ですか?そうでない場合、そうではありませんか? 私は社内でベストプラクティスを広めたいと思っていますが、私が行った推奨事項を実証およびバックアップできる必要があります。 何が起こっているのかも正確に理解したい。

7
配列名の一部として変数を使用する方法
2つの配列があります。 arrayA=(1 2 3) arrayB=(a b c) そして、コマンドライン引数を使用して、つまりなしでそれらの1つを出力したいと思いますif else。 構文のバリエーションをいくつか試しましたが、成功しませんでした。私はこのようなことをしたいと思っています: ARG="$1" echo ${array${ARG}[@]} しかし、「悪い置換」エラーが発生します。どうすればこれを達成できますか?
11 bash  shell 

3
追加のみにファイルアクセスを制限する
ログファイルのあるディレクトリがあり、ユーザーが起動したスクリプトのログをログファイルに入れています。この場合、syslogを使用したロギングは可能ではないようです。(非デーモンrsync) ユーザーにログファイルへの書き込み権限のみを付与したい。問題は、書き込み権限をさらに制限して、ユーザー(スクリプト)がそのファイルにのみ追加できるようにする必要があることです。基礎となるファイルシステムはXFSです。 以下は機能しません: # chattr +a test.log chattr: Inappropriate ioctl for device while reading flags on test.log これの他の解決策はありますか?ヒントありがとうございます。
11 linux  permissions  logs  rsync  xfs 

4
Bash:stdoutの最後(またはN番目)の行をキャプチャ/使用
問い合わせ 私はBashを使用しています。ファイルを探すときは、多くの場合、次のことを行います。 find -name stackexchange.hs そして多くの場合、結果は次のようになります。 /youre/the/man/now/dog/stackexchange.hs /you/are/no/longer/the/dog/dog/stackexchange.hs /this/is/the/file/i/want/stackexchange.hs 次に、次のいずれかを実行します。 オプション1:結果リストの最後のアイテムをvimで開きます。 オプション2:結果リストのN番目のアイテムをvimで開きます。 現在、マウスでカットアンドペーストしています。これは私に私の質問をもたらします: オプション1と2を実現する簡単なワンライナーはありますか?これはコマンドの後に発生していることに注意してくださいfind。 ある種のbashベクトル/配列で標準出力からN行をキャプチャする方法はありますか? 理想的な使い方 $ find -name am_i_really_all_alone.txt ./borges/library/you_are_not_alone.txt ./borges/library/am_i_really_all_alone.txt $ vim (N) (構文とセマンティクスは異なる場合がありますが、要点はわかります) Similaria 同様の質問がいくつかあるようです。ここに私の認識された違いがあります(私は悟りに開いています): 「検索コマンドで見つかりファイルを開くには、」からパイプにファイル名を1行の作成に焦点を当てfindにvim(または何でも)。私の場合、私はfind最初に、後で(いわば)パイプをしたいと思います。私のキャプチャ/使用は厳密に後に発生します。 「コマンドリンドからの最後の出力を再利用する」は大げさなようですが、単にコマンドを繰り返すようで、出力のN番目の行をキャプチャすることについては話していません。率直に言って、それは私を怖がらせます。 「Bashビルトインの複数行出力をキャプチャする」は近いですが、完全にはありません。 「端末、シェル、tty、コンソールなどの正確な違いは何ですか。」これは本当に良い読み物です。 ご協力ありがとうございました!私が90年代の10代のときに* nix / BSDを使用していて、プラグアンドプレイサウンドカード用のドライバーをインストールするのに役立つように燃え尽きてアシッドヘッドの隣人を呼んで怖がってしまったので、コマンドについて話し合うと安心しました。 (恐らく)恐ろしい個人が少ない特徴点を並べます。戻ってきて気持ちいいです。

6
端末からデスクトップの壁紙を変更する
Mint 13をCinnamon 1.6で実行しています。デスクトップの壁紙を時刻に応じて自動的に変更したいのですが。したがって、最初に頭に浮かぶのは、cronジョブを設定してそれを実行することです。問題は、スクリプト/ターミナルから壁紙を変更する方法がわかりません。 知りたいこと: 1)端末から背景をどのように変更しますか? 2)これを行う組み込みの方法はすでにありますか?

2
外部DNSを使用しているときに、digがDNSサーバーを127.0.0.1と報告するのはなぜですか?
私はunboundを使用しており、通常はDNSサーバーとしてopenDNSを使用しています。 私が走るdig google.comと私は得ると言うSERVER: 127.0.0.1#53(127.0.0.1)。これは正確にポート#53でリッスンしているものですか?これはバインドされてdnsmasq.confいませんか、それともdnsmasqと関係がありますか(dnsmasqがインストールされていないように見え/etcますか?) resolv.confにはありますnameserver 127.0.0.1が、ネットワークマネージャーには、2つのopenDNSアドレスを指すDNSサーバーがあります。ここで何が起こっているのでしょうか?ローカルネームサーバーはdnsmasqをポイントし、ネットワークマネージャーからの値を使用しますか?それとも実際に聞いているのは束縛されていないのですか?
11 dns  dnsmasq 


3
sda、sdb、dm-0、dm-1の意味に関するドキュメントはどこにありますか
iostatを実行すると、 sda0、sda1 私はそれらが「ハードディスク」であることを知っています。 次に、dm-0、dm-1はありますか?ドキュメントを確認したかった。 私はhttp://linux.die.net/man/1/iostatを確認しましたが、まったく言及されていません。 また、私のmountコマンドはこれを示しています: /dev/mapper/VolGroup-lv_root / ext4 usrjquota=quota.user,jqfmt=vfsv0 1 1 UUID=1450c2bf-d431-4621-9e8e-b0be57fd79b6 /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_home /home ext4 usrjquota=quota.user,jqfmt=vfsv0 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc …
11 linux 

2
PS3でLinuxを実行する方法は?
私は数値計算を学んでいて、Core i5、4GBラップトップを持っていますが、一部のタスクでは遅いことがわかりました。 私は、1つのPS3が30台のクラスター化されたPCの処理能力を備えていることを読みました。 基本的に、私はPSを購入してLinuxをインストールし、それから私のpythonプログラムを実行することを考えています。 ソニーがファームウェアアップデート3.21でLinuxをインストールする機能を無効にしたことを読みました 最近のバージョンのPSでLinuxを実行する方法はありますか?新しい制限にハックはありますか?私が外に出て購入した場合、Linuxを実行できますか?
11 linux 

1
バッファ/ウィンドウフォーカスでVimを自動的に更新する方法は?
Vimで画面を再描画するには、Control + Lをよく使用します。 特に、スリープ状態から抜けたり、モニター構成を変更したりすると、Vimを再描画する必要があることがよくあります。フォーカスを再描画するvimrcに何かを追加する方が簡単かもしれないと思いました。 .vimrcウィンドウ/バッファーがフォーカスを取得したときにバッファーを再描画するコマンドをファイルに追加できますか? 特に、優れたコマンドは、顕著な悪影響やその他の関連する副作用があってはなりません。
11 vim  gvim 

5
qbittorrentにスケジューラがないための回避策はありますか?
他の多くのトレントクライアントとは異なり、qbittorrentにはスケジューリングツールがありません。理想的には、指定された日の1日の特定の時間にダウンロードを抑制できます。 これの回避策はありますか?qbittorrentのステージングに使用できる別のスケジュールツールはありますか?そうでなければ、何が最良のスクリプトソリューションでしょうか?

2
BusyBoxで起動スクリプトを作成および制御する
BusyBoxでカスタムLinuxカーネルをコンパイルしました。BusyBox initはランレベルをサポートしていません。カーネルがBusyBoxで起動すると、まず実行initされ、指定されたランレベルをで探します/etc/inittab。BusyBoxはなしinitでも問題なく動作し/etc/inittabます。inittab見つからない場合は、次の動作があります。 ::sysinit:/etc/init.d/rcS この部分は私には非常に明確ですが、ネットワークを起動する、シリアルポートを作成する、またはjavaプロセスを開始するデーモンを管理する方法を知りたいです。にあるスクリプトを調べましたが、/etc/init.d/それらの管理方法がわかりません。などの自動化ツールなしで自分でこれらのサービスを制御するための優れたチュートリアルまたはソリューションを探していますbuildroot。私は、これらのスクリプトがどのように機能するかを理解したいとどのようにデバイスを作成する/dev/(今私が唯一持っているconsoleとttyAM0)。

3
Linuxのオーバークロックツール
マシンをオーバークロックしようとしています。すべての変更はBIOSレベルで行われますが、すべての温度、電圧などを確認し、オーバークロックの安定性をテストする必要があります。ほとんどのチュートリアル(すべてではないにしても)はWindows用に書かれています。Linuxの代替となるもの: CPU-Z:コア速度、コア電圧、電流乗数などを含むすべてのCPU情報を表示します。 HWMonitor:ファンの速度とコアの温度を確認します Prime95:結果検証を伴うストレステスト また、Intelプロセッサ(Q9450を持っています)のVTTおよびNB電圧(すべての電圧の簡単な説明を参照)を監視できるようにしたいと思っています。実際にそれを実行するWindowsプログラムをまだ見つけていません。

1
ディレクトリのオンザフライ圧縮
ほとんど使用されない(毎週考える)テキストファイルを常に格納するディレクトリがあります。当然、これは圧縮を使用するのに最適な場所です。ただし、ファイルにアクセスするたびにtarを使用する必要があるのではなく、「圧縮フォルダーをマウントする」ことができれば気に入っています。 フォルダがmydirと呼ばれているとしましょう 理想的には、次のことが当てはまります。 プログラムがディレクトリが圧縮されていることを知る必要なく、mydirでコピー/移動/削除/読み取りされたアイテム mydirからのファイルがプログラムによって読み取られるとき、ディレクトリ全体ではなく、そのファイルのみが解凍されます。 ディレクトリは常に利用可能である必要があります。(おそらくブートまたはログインにマウントされています)

3
awkを使用して最後の行を最初に処理する
awk最後のデータポイントに基づいて、を使用して正規化するデータファイルがあります。そのため、私は最初に最後のデータポイントにアクセスし、データを正規化してから、正常に処理したいと考えています。 次の方法は、tac2回使用するとうまくいきますが、おそらく必要以上に複雑です。 $ cat file 0 5 1 2 2 3 3 4 $ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac 0 1.25 1 0.5 2 0.75 3 1 私の質問は次のとおりです。awkのみを使用して上記の結果を取得することは可能ですか? 答えは「いいえ、awkはファイルを1行ずつスキャンします」と思いますが、代わりの方法を提案します。

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