タグ付けされた質問 「unix」

このタグは、UNIXに直接関連するプログラミングの質問に限定されます。一般的なソフトウェアの問題は、Unix&Linux Stack Exchangeサイトまたはスーパーユーザーに送信する必要があります。Unixオペレーティングシステムは、1960年代後半にBell Labsによって開発された汎用OSであり、現在、さまざまなバージョンで存在しています。



6
SIGINTは、SIGTERM、SIGQUIT、SIGKILLなどの他の終了信号とどのように関連していますか?
POSIXシステムでは、終了信号は通常次の順序になります(多くのMANページとPOSIX仕様による)。 SIGTERM-プロセスに終了を丁寧に要求します。正常に終了し、すべてのリソース(ファイル、ソケット、子プロセスなど)をクリーンアップし、一時ファイルを削除します。 SIGQUIT-より強力なリクエスト。クリーンアップが絶対に必要なリソースをクリーンアップしますが、一時ファイルは削除せず、デバッグ情報をどこかに書き込む可能性があります。一部のシステムでは、コアダンプが書き込まれます(信号がアプリによってキャッチされるかどうかに関係なく)。 SIGKILL-最も強力なリクエスト。プロセスは何もするように要求されることさえありませんが、システムはそれが好きかどうかに関わらず、プロセスをクリーンアップします。おそらくコアダンプが書き込まれます。 SIGINTはどのようにその画像に適合しますか?CLIプロセスは通常、ユーザーがCRTL + Cを押すとSIGINTによって終了しますが、バックグラウンドプロセスは、KILLユーティリティを使用してSIGINTによって終了することもできます。仕様またはヘッダーファイルで確認できないのは、SIGINTがSIGTERMよりも強いか弱いか、またはSIGINTとSIGTERMの間にまったく違いがあるかどうかです。 更新: 私がこれまでに見つけた終了信号の最も良い説明は、GNU LibC Documentationにあります。これは、SIGTERMとSIGQUITの間に意図された違いがあることを非常によく説明しています。 それはSIGTERMについて言います: これは、プログラムに終了を丁寧に要求する通常の方法です。 そしてそれはSIGQUITについて述べています: [...]プログラムエラー信号のように、プロセスを終了するとコアダンプを生成します。これは、ユーザーによって「検出」されたプログラムエラー状態と考えることができます。[...]特定の種類のクリーンアップは、SIGQUITの処理では省略されるのが最適です。たとえば、プログラムが一時ファイルを作成する場合、一時ファイルを削除することにより、他の終了要求を処理する必要があります。ただし、SIGQUITはそれらを削除しない方がよいため、ユーザーはコアダンプと組み合わせてそれらを調べることができます。 そしてSIGHUPも十分に説明されています。SIGHUPは実際には終了信号ではなく、単にユーザーへの「接続」が失われたことを意味するため、アプリはユーザーがそれ以上の出力(例:stdout / stderr出力)を読み取ることを期待できず、期待される入力がありません。もはやユーザー。ほとんどのアプリでは、終了することを意味します。理論的には、SIGHUPを受信すると、アプリがデーモンモードになり、バックグラウンドプロセスとして実行され、設定されたログファイルに出力が書き込まれるようにアプリを決定することもできます。すでにバックグラウンドで実行されているほとんどのデーモンの場合、SIGHUPは通常、構成ファイルを再検査する必要があることを意味するため、構成ファイルを編集した後、デーモンをバックグラウンドプロセスに送信します。 ただし、このページには、CRTL + Cから送信されるSIGINTに関する有用な説明はありません。SIGINTをSIGTERMとは異なる方法で処理する理由はありますか?もしそうなら、これはどのような理由であり、処理はどのように異なるのでしょうか?
103 linux  unix  posix 

3
シェルでの変数補間
という変数がありますfilepath=/tmp/name。 変数にアクセスするために、私はこれを行うことができることを知っています: $filepath 私のシェルスクリプトで私はこのようなことをやろうとしました(バッククォートが意図されています) `tail -1 $filepath_newstap.sh` 変数が呼び出されていないため、この行は失敗しました、そうです! $filepath_newstap.sh _newstap.sh変数名に追加するにはどうすればよいですか? バックティックは式の評価を目的としていることに注意してください。
103 bash  shell  unix 

7
プログラムをゆっくり実行する
LinuxのOSパラメータを変更してC ++プログラムをより遅く実行する方法はありますか?このようにして、特定のプログラムが実際に遅いマシンで実行された場合にどうなるかをシミュレーションしたいと思います。 言い換えれば、より高速のマシンは、その特定のプログラムに対してより低速のマシンとして動作する必要があります。
102 c++  c  linux  unix  ubuntu 

12
行全体が一致する場合にのみgrepを一致させる方法は?
私はこれらを持っています: $ cat a.tmp ABB.log ABB.log.122 ABB.log.123 ABB.logの完全一致を見つけたいと思っていました。 しかし、私がしたとき $ grep -w ABB.log a.tmp ABB.log ABB.log.122 ABB.log.123 それらのすべてが表示されます。 grepを使用して必要なものを入手できますか?
102 shell  unix  grep 

12
UNIXソートでヘッダー行を無視する方法はありますか?
UNIX(私の場合はCygwin)の並べ替えユーティリティを使用して並べ替えようとしている固定幅フィールドファイルがあります。 問題は、ファイルの上部に2行のヘッダーがあり、ファイルの下部に並べ替えられていることです(各ヘッダー行はコロンで始まるため)。 「最初の2行を並べ替えずに渡す」、またはコロン行を先頭に並べ替える順序を指定する方法をsortに指示する方法はありますか-残りの行は常に6桁の数字で始まります(実際にはIソートしている)それが役立つ場合。 例: :0:12345 :1:6:2:3:8:4:2 010005TSTDOG_FOOD01 500123TSTMY_RADAR00 222334NOTALINEOUT01 477821USASHUTTLES21 325611LVEANOTHERS00 ソートする必要があります: :0:12345 :1:6:2:3:8:4:2 010005TSTDOG_FOOD01 222334NOTALINEOUT01 325611LVEANOTHERS00 477821USASHUTTLES21 500123TSTMY_RADAR00


1
ワイルドカードまたは「like」に類似したディレクトリ名を検索します
次のコマンドを使用してディレクトリ名を検索しています。 find / -type d -name "ora10" 私の問題は、私は確信して私はと類似のディレクトリを検索したいので、正確なディレクトリ名が、あるものではないよ、である"ora10g"、"ora10client"など、 findでこれを行うにはどうすればよいですか?
101 unix  directory 

1
vimに復帰文字を挿入する
Unixでファイルを保存しているネットワークプロトコルフレームを編集しています(\n改行)。改行文字(U+000D別名\r)を挿入する必要があります。クリップボードから貼り付ける"+pか()、またはCtrl+ Shift+ u- を使用して入力しようとする000dと、改行が挿入されます(U+000A)。 それを行う正しい方法は何ですか?

6
コマンドラインパラメータの「-」(ダッシュ)の魔法は何ですか?
例: ISOイメージを作成し、直接CDに書き込みます。 mkisofs -V Photos -r /home/vivek/photos | cdrecord -v dev=/dev/dvdrw - 前のディレクトリに移動します。 cd - ポート12345でリッスンし、送信されたデータをuntarします。 nc -l -p 12345 | tar xvzf - ダッシュの目的は何ですか?どのように使用しますか?
101 linux  bash  shell  unix  command-line 

8
特定のポートでリッスンしているプロセスpidを判別します
タイトルが言うように、私は複数のゲームサーバーを実行しており、それらはすべて同じですnameがPID、port数と数が異なります。PID特定のポートでリッスンしているサーバーのと一致させてから、このプロセスを強制終了したいと思います。私のbashスクリプトを完了するには、それが必要です。 それは可能ですか?それはウェブ上でまだ解決策を見つけられなかったからです。
101 unix  port  freebsd  pid 

13
UNIXでkill -9コマンドの9番を使う理由 [閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 12か月前に閉鎖。 この質問を改善する 私はそれがトピックから外れていることを理解しています、私はオンラインでどこにも見つけることができませんでした、そしておそらくコミュニティのプログラミングの達人がこれを知っているかもしれないと思っていました。 私は通常使用します kill -9 pid 仕事を殺すために。私はいつも9の起源を知りました。オンラインで調べたところ、 「9は、キャッチまたは無視できないKILLシグナルを意味します。つまり、プロセス(一部の実行中のアプリケーション)がすぐに終了することをシグナルします」(ソース:http : //wiki.answers.com/Q/What_does_kill_-9_do_in_unix_in_its_entirety) しかし、なぜ9なのか?そして、他の数字はどうですか?歴史的な意味はありますか、それともUnixのアーキテクチャのためですか?
101 unix  command  history  kill 

10
シェルスクリプトだけを使用してテキストファイルから特定の行を取得する
テキストファイルから特定の行を取得しようとしています。 これまでのところ、オンラインではsedのようなものしか見ていません(bashやsedなどではなく、shしか使用できません)。これを行うには、基本的なシェルスクリプトのみを使用する必要があります。 cat file | while read line do #do something done 上記のように、行を反復する方法を知っていますが、特定の行のコンテンツを取得する必要がある場合はどうなりますか?
100 linux  shell  unix  sh 

11
sed、awk、またはgawkを使用して、一致するものだけを印刷する方法
sed、awk、またはgawkを使用して検索と置換などを行う方法について、多くの例とmanページを参照しています。 しかし、私の場合、特定の値を抽出するためにテキストファイルに対して実行する正規表現があります。検索と置換を行いたくありません。これはbashから呼び出されています。例を使用してみましょう: 正規表現の例: .*abc([0-9]+)xyz.* 入力ファイルの例: a b c abc12345xyz a b c これは簡単に聞こえますが、sed / awk / gawkを正しく呼び出す方法がわかりません。私が望んでいたことは、私のbashスクリプト内からです: myvalue=$( sed <...something...> input.txt ) 私が試したことは次のとおりです。 sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing
100 regex  unix  sed  awk  gawk 

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