タグ

unixに関するkiririmodeのブックマーク (17)

  • sudoコマンドの発音は?

    Sophosは7月26日(米国時間)、「Sysadmins need to know – how DO you pronounce “sudo”?」において、一時的に管理者権限などほかのユーザー権限でコマンドやアプリケーションを実行するためのコマンドであるsudoについて取り上げた。 類似のコマンドとしてWindowsのrunasコマンドやOpenBSDのdoasコマンドも説明している。sudoコマンドはLinuxの管理などで使われることが多く、さまざまなシーンで利用されている。 Sophosはsudoコマンドの発音についても説明しているが、sudoのFAQである「FAQ and Troubleshooting Tips - sudo」でも紹介されている。これによれば、sudoは公式的には「スードゥー」のように発音するという。ただし「スードー」のように発音することも多いとも説明している。

    sudoコマンドの発音は?
    kiririmode
    kiririmode 2024/07/13
    スードゥー
  • パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita

    はじめに コマンドをパイプでつなげた時、各コマンドの間にはいくつかのバッファが存在します。そのバッファについてちゃんと意識しているでしょうか? バッファの存在によって各コマンドの実行には分かりづらい変化があります。そのバッファを知らないと罠にハマってしまう・・・かもしれません。 プロセス間のパイプ通信のバッファ まずプロセス間のパイプ通信に存在しているバッファです。多くのコマンドは行単位でデータを処理しますが、一般的にパイプでつなげた各コマンドはそれぞれ処理速度が異なります。処理がすぐに終わるコマンドもあれば時間がかかるコマンドもあります。各コマンドは並列で動作可能ですが必ずしも並列で動作するわけではありません。 一般論としてパイプライン全体の処理にかかる実時間はパイプでつながったコマンドの中で一番遅いコマンドに足を引っ張られます。いくら並列で動作可能と言ってもデータが到着しなければ処理す

    パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita
    kiririmode
    kiririmode 2023/12/10
    ]各コマンドのバッファリング制御について
  • Unix プロセスと Docker の罠

    子プロセスを生成する方法として、fork が挙げられます。 fork は、プロセスのコピーを生成するシステムコールで、コピーされた新しいプロセスを子プロセス、fork の呼び出し元のプロセスを親プロセスと呼びます。

    Unix プロセスと Docker の罠
    kiririmode
    kiririmode 2019/04/08
    ゾンビプロセス周り
  • 第6回 UNIXプログラミングの勘所(2) | gihyo.jp

    forkとファイルハンドル UNIX系のOSでは、複数のプログラムが、それぞれプロセスという単位で動作しています。forkというシステムコール[1]が呼び出されると呼び出したプロセスの複製がOSによって作成され、複製されたプロセス(子プロセス)がexecveというシステムコールを使って別のプログラムにすり替わる、というしくみでさまざまな処理を実行するようになっています。 「複製」と言っても、全部の情報が複製されるわけではありません。プロセスのメモリイメージが複製される[2]一方で、プロセスが開いている「オープンファイル記述」(⁠open file description)(⁠注3)は複製されません。forkのあとは、親プロセスと子プロセスの両者が、単一のオープンファイル記述を指す「ファイル記述子」(⁠file descriptor)(⁠注4)を持つことになります(図2⁠)⁠。 図2 for

    第6回 UNIXプログラミングの勘所(2) | gihyo.jp
  • 第6回 UNIXプログラミングの勘所(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはJapanizeやText::MicroTemplateなどで有名な奥一穂さんで、テーマはUNIXプログラミングです。 はじめに 「正しいプログラム」を書くために必要な知識とはなんでしょうか。テストが正しく実行されることは、正しいプログラムであるための必要条件に過ぎません。プログラミングにおいてはプログラミング言語だけでなく、OSの動作やデータベース、ネットワークプロトコルなど、さまざまな知識が必要になります。 PerlはもともとUNIX系のOS(LinuxやFreeBSD、Mac OS XなどのOSを稿では以下UNIXと総称します)の上で処理を行うためのスクリプト言語として開発され、今日でもPerlプログラムの多くはUNIX上で実行されています。しかし、「⁠Perlでプログラミング」と言った場合はともすれば

    第6回 UNIXプログラミングの勘所(1) | gihyo.jp
  • psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々

    今更なネタかもしれませんが、psコマンドでは通常プロセス単位での表示となりますが、"man ps"を読んでみたところ、"-L"等のオプションをつけることで、スレッドを表示することもできるようです。 スレッド表示 H   スレッドをプロセスのように表示する。 -L   可能ならば LWP と NLWP カラムをつけてスレッドを表示する。 -T   可能ならば SPID カラムをつけてスレッドを表示する。 m   プロセスの後にスレッドを表示する。 -m   プロセスの後にスレッドを表示する。 Man page of PS では、早速試してみましょうか。 普通に"ps -ef"を実行 $ ps -ef | grep -e mysqld -e PID | grep -v grep UID PID PPID C STIME TTY TIME CMD root 4570 1 0 Dec09 ? 00

    psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々
  • x.com

  • memologue - UNIX上でのC++ソフトウェア設計の定石 (2)

    鉄則2: シグナルハンドラで行ってよい処理を知ろう sigaction関数で登録したシグナルハンドラで行ってよい処理は非常に限定されている 次の3つの処理だけが許されている 自動変数の操作 “volatile sig_atomic_t” 型の大域変数の操作 「非同期シグナルセーフ」関数の呼び出し これ以外の処理を記述しないこと! 説明: シグナル受信時に何らかの処理を行うためには、シグナルハンドラと呼ばれる関数を用意し、それをsigaction関数でシグナル名と紐付けておけばOKです。しかし、シグナルハンドラ内で行ってよい処理は、上記の通り非常に限定されています。これを把握しないまま奔放なコードを書くと次のような現象が起き得ます: 問題1: プログラムがデッドロックする危険がある タイミングに依存する、再現困難なバグの原因となる デッドロックの発生が典型例だが、それ以外にも関数の戻り値不正

    memologue - UNIX上でのC++ソフトウェア設計の定石 (2)
  • Expect コマンドで passwd 変更

    Unix でパスワード変更するには、passwd コマンドを使う。 ところが、この passwd コマンドは対話式なのでシェル・スクリプトの中に埋め込むのが難しい。Linux の管理者として、複数のユーザー・アカウントを発行したり変更する時に、これは少々まずい。100 人もの passwd 変更を対話式に入力するのは、Unix 使いのすることじゃない。 expect この手の対話式スクリプトを shell script 的に対処するために、expect コマンドってのがある。対話文字列にマッチしたら、予め用意したコマンドを送り込んでくれる。 例えば、passwd コマンドなら、こんな対話になる。 $ sudo LANG=C passwd foobar Enter new UNIX password: Retype new UNIX password: 最初の「Enter」に反応してパスワー

    kiririmode
    kiririmode 2009/02/21
    コメント欄も合わせて有用
  • EmacsWiki: サイトマップ

    The EmacsWiki is dedicated to documenting and discussing EmacsAndXEmacs and EmacsLisp. See the MissionStatement for more information. You can edit this website. There’s a link, Edit this page, at the bottom of this and other pages. Please check Comments on SiteMap before editing this SiteMap page, however. How to use this siteHowToNavigate – how to find what you’re looking for HowToEdit – how you

  • 9月になったし、もうそろそろ書いておくか

    これから就職活動するバカはいないだろうけど、そういう人もいるだろうから少し書いておこう。 どちらかというと、アンチMS派なUnix技術者がWindowsだけの世界で仕事をする辛さを。 Unix技術者は、業務実績にSolaris/AIX/Linuxって書いてあってもちゃんと質問しろ。Windows仕事は無いですよね?って。 僕がべるために職を手にしているこのIT業界というのは、バッドノウハウとMicroSoftExcelで出来ている。 その為、僕が手にしたUnixの知識は、特定の仕事以外でしか役に立たないし、使わない。 viだろうが、TeXだろうが、Xの知識よりも、MFCとVBAのちょっとした知識のあるヤツが上にみられる。 ExcelWindowsの知識があればそれだけで仕事になるからだ。 いいか、viやTeX、Xなんて捨てちまえ、Excelがあればそれでいいのだ。 Unix技術者で

    9月になったし、もうそろそろ書いておくか
  • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

    普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次の Ruby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 % ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

    kiririmode
    kiririmode 2007/08/25
    SEGFAULT_SIGNALSってなに?
  • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

    あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

  • ssh-copy-idコマンドで公開鍵をリモートホストに登録する - 技術メモ帳

    http://www.t-dori.net/k-way/?date=20061218 こんなコマンドがあったのか。常識? ssh-copy-id username@hostname.example.jp か。パスワード認証のパスワードが求められる。 あああ、こんな便利なコマンドあったのか。 いわゆる authorized_keys に登録する処理が簡単に行える。 ただ、ほとんどの環境に入ってない。 最近のOpenSSHだと入ってるのかな。 ちなみにいつもはこうやってる。 $ cat ./.ssh/id_rsa.pub | ssh user@remote_host "cat >> ./.ssh/authorized_keys" 参考: http://www.delafond.org/traducmanfr/man/man1/ssh-copy-id.1.html http://takkan-m

  • MacPortsでステキなUNIXツールをインストール - はこべにっき#

    2011/5/22追記: 最近のオススメは、homebrewです。ぼくもいまはhomebrew使ってます。 先日、研究室にあたらしいMac Book Pro 17"が届いた。各種操作がいちいちキビキビ動いて快適すぎる。 このMacにも、うち的最重要MacアプリケーションのひとつであるMacPortsをインストールした。 MacPortsはFreeBSDのportsというパッケージ管理システムと似たようなことを、Mac OS Xでも行うためのソフトウェアだ。有名なコマンドラインツールはほとんどこれを使えば揃えることができる*1。うちが普段使っている、perlvimもzshもscreenも全部MacPortsでインストールしたもの。 Macでライブラリやツールがなくて困ったときはとりあえず、MacPortsに聞いておけばなんとかなることも多い(例: pygameってMac OS Xで動くんだ

    MacPortsでステキなUNIXツールをインストール - はこべにっき#
  • 人力検索はてな - GNU screen を使い始めて数ヶ月が経ち、ようやく慣れてきました。それで、screenrc による設定方法などを調べているのですが、「こういうときはこうする」とか「こうすると.

    GNU screen を使い始めて数ヶ月が経ち、ようやく慣れてきました。それで、screenrc による設定方法などを調べているのですが、「こういうときはこうする」とか「こうするとこうなる」というオススメの設定があったら是非教えてください。 今の screenrc はこういう感じです。 escape ^Tt termcap kterm hs@ terminfo kterm hs@ vbell off bind w windowlist -b hardstatus alwayslastline I%wI defhstatus I^En:^EtI shell -$SHELL startup_message off autodetach on いくつかよくわかってないののも混ざってますがw よろしくお願いします。

  • GNU screen いろいろまとめ。 - naoyaのはてなダイアリー:

    先日人力検索で GNU screen の設定TIPSについて質問してみたところ、かなーり役立つ設定とかをたくさん教えてもらうことができました。みなさん感謝。 そんで、教えていただいた通りにカスタマイズした結果、こんな感じのスクリーンショットが撮れました。MacOSX のターミナルです。 おかげさまでかなり便利になって作業効率が上がったと思います。いろいろ教えてもらったお礼とまではいきませんが、やった設定とかをはまりどころとかも交えて紹介してみます。名付けてリバースNDOメソッド。ちなみに、知ってる人にはごく当然のことが当たり前のように書いてるので、あんまり役に立たないかもしれません。 hardstatus alwayslastline で最終行にウィンドウ一覧を表示 これは今回の質問とは直接関係ないのですが、やるとやらないとでかなり使い勝手が違うので。 hardstatus alwaysl

  • 1