Unix & Linux

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

5
Linux上の1つのプロセスのすべてのスレッド(および子)を放棄する方法は?
Linuxは(まだ)POSIX.1標準に従っていないと言うことreniceに従っているため、プロセス上は、「プロセス内のすべてのシステム・スコープ・スレッド」に影響をpthreadsの(7)DOC「のスレッドが共通の素敵な値を共有しません」。 ただし、renice特定のプロセスに関連する「すべて」が便利な場合もあります(1つの例は、Apacheの子プロセスとそのすべてのスレッドです)。そう、 特定のプロセスに属するreniceすべてのスレッドをどのようにすればよいですか? 特定のプロセスに属するreniceすべての子プロセスはどうすればよいですか? 私はかなり簡単な解決策を探しています。 私はことを知っているプロセスグループは、時には役に立つことができ、しかし、彼らはいつも私が何をしたいのか一致しません:彼らはプロセスのより広範または異なるセットを含めることができます。 cgroupマネージドを使用することsystemdも役立つかもしれませんが、それについて聞いてみたいと思っても、ほとんどの場合「標準」ソリューションを探しています。 編集:また、man (7) pthreads「プロセス内のすべてのスレッドは同じスレッドグループに配置されます。スレッドグループのすべてのメンバーは同じPIDを共有します」。それで、それreniceがそれ自身のPIDを持っていない何かにさえ可能ですか?
22 linux  process  nice  thread 

1
すべてのbashコマンドの後にスクリプトを呼び出す方法
この例hey.shで、bashコマンドごとに名前が付けられたスクリプトを呼び出すことはできますか? たとえば、lsヒットEnter キーを押してlsを実行すると、hey.sh実行されます。 次にcd .. (または他のコマンド)と入力し、cdを実行してからhey.sh実行します。
22 bash 


2
Bash正規表現キャプチャグループ
文字列から複数の英数字値(この数値は異なる場合があります)を照合し、bashキャプチャグループ配列に保存しようとしています。しかし、私は最初の一致のみを取得しています: mystring1='<link rel="self" href="/unix//api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/unix//api/clouds/1/instances/2AAAAAAA"/>' regex='/instances/([A-Z0-9]+)' [[ $mystring1 =~ $regex ]] echo ${BASH_REMATCH[1]} 1BBBBBB echo ${BASH_REMATCH[2]} ご覧のとおり、最初に探している値と一致しますが、2番目の値とは一致しません。

1
Kali Linux 2.0 miniとLightの違い
最近、Kali Linux 2.0がリリースされ、Normal、Minimal、およびLight ISOインストールがリリースされます。最小限のKali Linuxインストールには、必要なソフトウェアパッケージとその他の動機があります。それらのいくつかはここにリストされています。しかし、Lightインストールとは何ですか?
22 kali-linux 

3
削除ボタンが押されたときにxfceでビープ音を無効にする方法は?
Arch Linuxにxfceを新たにインストールしました。xfceは、削除ボタンまたはバックスペースを押すたびにビープ音を発しますが、これは非常に迷惑です。これを無効にするにはどうすればよいですか? コメントを解除しようとしましたset bell-style noneが、うまくいきませんでした。
22 arch-linux  audio  xfce  bell 

3
通常のユーザーがネットワーク名前空間を使用できるスクリプトは何ですか?
ネットワーク名前空間(netns)を使用するアーキテクチャがあります。通常のユーザーがこれらのネットワークでいくつかの操作を行えるようにしたいと思います。 この投稿にnetns-exec.sh触発され、実行されたスクリプトを記述できます:sudo ip netns exec $1 su $USER -c "$2" 私のsudoerファイルに追加します: user ALL=(ALL) /path/to/netns-exec.sh しかし、私はそれが非常にいので、それについて完全に悪夢を抱く可能性があります。通常のユーザーが名前空間を使用できるようにするより良いソリューションはありますか?ユーザーをいくつかの有用なグループに入れることは可能ですか?私はそれについて検索しましたが、何も見つかりませんでした。

1
FATファイルシステム上のファイルを置き換えるdpkg
dpkg(および最終的にapt-getなどのように)パッケージをアップグレードまたは再インストールすると、ファイルを置き換える前にファイルへのハードリンクを作成して既存のファイルをバックアップします。こうすると、アンパックが失敗した場合、既存のファイルを簡単に戻すことができます。Bad Things™の発生からオペレーティングシステムを保護するので、それは素晴らしいことです。 ただし、ファイルシステムがハードリンクをサポートしている場合にのみ機能します。FATファイルシステムなど、すべてのファイルシステムがそうするわけではありません。 私は特定の組み込みARMプラットフォーム用のDebianのディストリビューションに取り組んでいます。ブート環境では、特定のファイル(カーネルが含まれています)がFATファイルシステム上にある必要があります。 カーネルパッケージ(またはそのFATパーティションにファイルがある他のパッケージ)をアップグレードしようとすると、インストールは次のように失敗します。 dpkg: error processing archive linux-image3.18.11+_3.18.11.2.armadillian_armhf.deb (--install): unable to make backup link of `./boot/vmlinuz-3.18.11+' before installing new version: Operation not permitted そして、アップグレード全体が失敗します。 私はウェブを探しましたが、特定のアップグレードを行うときに特定の問題を抱えている特定の人だけを見つけることができます。その答えは通常「/boot/vmlinuz-3.18.11+を削除して再試行する」です。その特定の問題を修正します。 しかし、それは私にとっての答えではありません。私はOSユーザーではなくOSディストリビューターなので、アップグレードを行う前にエンドユーザーが手動でカーネルファイルを削除する必要のない、これを修正する方法が必要です。/ bootのファイル(または、アップグレード操作が多少遅くなりますが、気にするすべてのファイル)の「ハードリンクではなくコピー」をdpkgに伝える方法、または「ハードリンクが失敗した場合、文句を言わないで、代わりにコピーするだけです。」 --force-unsafe-ioやのような--force-allフラグを試してみましたdpkgが、何も効果がありません。
22 dpkg  hard-link  fat 

5
「>」という名前のファイルを削除するにはどうすればよいですか?
私は、誤動作し、sudoという名前のファイルを作成するために使用するPythonスクリプトを実行していました>。 このファイルを削除するにはどうすればよいですか? もちろん、私がしようとするとsudo rm >、エラーが発生しますbash: syntax error near unexpected token 'newline'。これは、の出力をリダイレクトしようとしていると思われるためですrm。 その許可は-rw-r--r--です。
22 bash  quoting  filenames  rm 


2
コミットメッセージを要求するgit mergeを終了するにはどうすればよいですか?
gitを使用しています。私は通常のマージを行いましたが、これを尋ね続けます: # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. そして、たとえ何かを書いても、ここから抜け出すことはできません。これを説明するドキュメントが見つかりません。どうすればいいですか?
22 git  merge 

4
bcを使用した変換の場合の「ibase」および「obase」を理解しますか?
bc16進数を10進数に、またはその逆に変換するためにユーティリティをよく使用します。しかし、それはどのように常にビット試行錯誤であるibaseとobase設定する必要があります。たとえば、ここでは16進数値C0を10進数に変換します。 $ echo "ibase=F;obase=A;C0" | bc 180 $ echo "ibase=F;obase=10;C0" | bc C0 $ echo "ibase=16;obase=A;C0" | bc 192 ここのロジックは何ですか?obase(A私の3番目の例では)変換される値と同じベースにある必要があり(C0私の例では)、ibase(163番目の例では)変換先のベースにある必要がありますか?
22 bc 

1
ターミナルカラーエスケープシーケンスはbashのどこでも定義されていますか?
私はBashスクリプトで色を頻繁に使用しました(ほとんどはCentOSで)が、より使いやすくするために、変数を色の値に再定義することになりました。 local GRAY="\[\033[1;30m\]" local LIGHT_GRAY="\[\033[0;37m\]" local CYAN="\[\033[0;36m\]" local LIGHT_CYAN="\[\033[1;36m\]" local NO_COLOUR="\[\033[0m\]" またはともtput: bold=`tput bold` normal=`tput sgr0` whitef=`tput setaf 7` greenf=`tput setaf 2` redb=`tput setab 1` /etc/rc.d/init.dディレクトリの周りをgrep'edしましたが、色の定義に関連するものはそこに見つかりませんでした。 すでにそのような定義はありますか?そうでない場合は/etc/rc.d/init.d、たとえばファイルに入れて、スクリプトに含めるようにします。/etc/rc.d/init.d/functions
22 bash  terminal  colors 

2
パイプ、データはパイプラインでどのように流れますか?
パイプラインでデータがどのように流れるのか理解していないので、誰かがそこで何が起こっているのかを明確にしたいと思っています。 コマンドのパイプラインは、ファイル(テキスト、文字列の配列)を1行ずつ処理します。(各コマンド自体が行ごとに機能する場合。)テキストの各行がパイプラインを通過する場合、コマンドは前の入力が入力全体の処理を完了するまで待機しません。 しかし、そうではないようです。 これがテスト例です。テキストのいくつかの行があります。それらを大文字にして、各行を2回繰り返します。私はそうしcat text | tr '[:lower:]' '[:upper:]' | sed 'p'ます。 プロセスを追跡するために、「インタラクティブ」に実行できますcat。入力ファイル名をスキップします。パイプラインの各部分は、行ごとに実行されます。 $ cat | tr '[:lower:]' '[:upper:]' alkjsd ALKJSD sdkj SDKJ $ cat | sed 'p' line1 line1 line1 line 2 line 2 line 2 しかし、完全なパイプラインは、入力が完了するのを待ってからEOF結果を出力するだけです。 $ cat | tr '[:lower:]' '[:upper:]' | sed 'p' I am writing... …

2
複数の拡張子を持つファイルをコピーする
複数の拡張子を持つファイルを単一の宛先ディレクトリにコピーしたいと思います。 たとえば、次のコマンドを使用して、作業ディレクトリ内のすべての.txtファイルをというディレクトリにコピーできますdestination。 cp -v *.txt destination/ そして、以下を使用して、作業ディレクトリ内のすべての.pngディレクトリをにコピーできますdestination。 cp -v *.png destination/ ただし、これらを個別のコマンドとして入力するのは時間がかかります(コマンド履歴を使用する場合でも)。だから、私が言うことができることをどのような方法があるcpパターンのいずれかでファイルをコピーする*.txt か、パターン*.pngにはdestination? 理想的には、3つ以上のパターンを指定できるようにしたいと考えています。たとえば、cpすべて*.txt または *.png または *.jpgファイルをにコピーするように指示するdestinationなどです。 これはすべて、シェルスクリプトを使用して可能になると確信しています(bashたとえば、を使用しています)が、コンソールからのみ、より簡単に実行する方法はありますか?何とかしてブレース拡張を使用してそれを行うことはできますか? 特定の特定のパターンに一致するファイルを除く、作業ディレクトリ内のすべてのファイルをコピーできることは知っていますが、作業ディレクトリには、コピーしたくないファイル拡張子がはるかに多く含まれているため、苦労します。 これについて何か考えはありますか?
22 bash  shell  wildcards  cp 

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