2011-10-21 2 views
5

エキスパート、linuxシェルユーティリティのソースコード

Linuxシェルコマンドpidofのソースコードはどのように表示されますか?関連する質問の答えに基づいて、私はGNU coreutilsをチェックしました。それがない..です

+0

Googleの 'pidof.c'には、たくさんの結果があります。 – zoul

答えて

5

をあなたがUbuntuのようなDebianシステム上にある場合は、これらの行に何かを試すことができます: dpkg -S <utility>、これはあなたにどのパッケージを教えてくれますこのユーティリティをインストールしました。 apt-get source <package-name>を使ってソースを得ることができます。ソースは、私が使用してあなたがUbuntuシステム上の例えば/etc/apt/sources.list
deb-srcエントリを持っていることを確認してください取得するには:

$ dpkg -S pidof 
sysvinit-utils: /bin/pidof 
sysvinit-utils: /usr/share/man/man8/pidof.8.gz 

ので、パッケージ名がされてはsysvinit-utilsの

$ apt-get source sysvinit-utils 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Picking 'sysvinit' as source package instead of 'sysvinit-utils' 
NOTICE: 'sysvinit' packaging is maintained in the 'Svn' version control system at: 
svn://svn.debian.org/pkg-sysvinit/sysvinit/trunk 
... 
dpkg-source: info: extracting sysvinit in sysvinit-2.87dsf 
dpkg-source: info: unpacking sysvinit_2.87dsf-4ubuntu17.4.tar.gz 

ソースパッケージを選びました。また、ソースが維持されているsvnについても通知します。

$ ls sysvinit* 
sysvinit_2.87dsf-4ubuntu17.4.dsc sysvinit_2.87dsf-4ubuntu17.4.tar.gz 

sysvinit-2.87dsf: 
contrib/ COPYRIGHT debian/ doc/ man/ obsolete/ README src/ 

私は、Debian以外のシステムではこれに相当するはずです。 Googleがお手伝いします。
これは少し助けることを願っています!

編集:yumのために少し情報:
1.パッケージを検索:yum whatprovides <package_name> だから、pidof多分のために:yumdownloader --source <source_name>

yum whatprovides `which pidof` 

2.ソースを取得します。これにはyum-utilsが必要な場合があります。 More info at this link
私はそれを試していないが、私はあなたがショットを与えることができると思います!

+0

ありがとうございます。私はRH Enterprise Linuxを利用しています。私はrpm -qf/sbin/pidofを実行してSysVinit-2.86-15.el5.x86_64を与えました。次に、SysVinit-2.86-15.el5.src.rpmをダウンロードしてインストールし、/ usr/src/redhat/SOURCES /からtar -xvf sysvinit-2.86.tar.gzを実行しました。私はkillall5.cのpidofの実装を見る – Manohar

+0

@Santhosh:ああ...私はいくつかのものをgoogled&編集で追加!あなたのために働くものは何でも良いです!あなたはそれを持っています、それは 'killall5.c'です –

2

は、私はここpidofソースコードが見つかりました: Source Code

+0

これはBusyBoxの実装です。これは、ライブラリ関数 'find_pid_by_name()'を利用して大部分の処理を行います。 –

+0

[こちら](http://code.google.com/p/secured/source/browse/src/pidof.c?spec=svnd53f28f2475e9a969735475ae95d1e217e40a66e&r=d53f28f2475e9a969735475ae95d1e217e40a66e)です。 – tr4656

関連する問題