System Management
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ユーザプロセスにcore を生成させる方法

DS250
時折のビジター

ユーザプロセスにcore を生成させる方法

OS: HP-UX 11.00



実行ユーザが以下のようにroot 以外の

一般ユーザとなっているプロセスに対して

以下のようにSIGBUS を発行した場合に、

core が出力されません。

# ps -ef | grep ns-httpd

www 6534 6533 0 13:07:16 ? 0:02 ns-httpd -d /home/xxx/https-xxxx.xxx.xxx

# kill -BUS 6534

実行ユーザがroot のプロセスでは

core が出力されますが、

実行ユーザが一般ユーザの場合は

何か設定が必要なのでしょうか?

Solaris ではcoreadm -e proc-setid

のようなコマンドが提供されていますが、

HP-UX ではあるのでしょうか?

4 件の返信
hazelwood
信頼あるコントリビューター

ユーザプロセスにcore を生成させる方法

root以外のプロセスはすべてcore dumpしないのでしょうか?SIGBUS以外でもcore dumpしないのでしょうか?(通常は、core dumpするんですけどねぇ。)

coreが生成されない理由として、以下の原因が考えられますが、調べてみてはいかがでしょうか?

・setrlimit(2)で、coreファイルのサイズが0にされている。(ksh, posix shはulimitコマンドで、cshのはlimitコマンドで設定・参照できます。)

・プロセスがシグナルを無視、あるいは、トラップしている。

・(実行中のプロセスの)カレントディレクトリにcoreというディレクトリがある。(つまり、coreというファイルが作れない。)
DS250
時折のビジター

ユーザプロセスにcore を生成させる方法

>hazelwood 様、

情報を頂きありがとうございます。

尚、丁度ご返信頂いた時間位に解決しました。



 該当プロセスは以下のような親子関係になっており、

 "1." の場合はcore dump せず、

 "2." の場合はcore dump しました。

  ------

  1."su -"(root) で起動した場合

root 17485 1 0 20:57:06 ? 0:00 ./uxwdog -d /home/xxx/xxx/https-xxx

root 17486 17485 0 20:57:06 ? 0:01 ns-httpd -d /home/xxx/xxx/https-xxx

www 17488 17486 0 20:57:08 ? 0:16 ns-httpd -d /home/xxx/xxx/https-xxx

  ------

  2."su - www" して起動した場合

  ------

www 17523 1 0 21:00:41 ? 0:00 ./uxwdog -d /home/xxx/xxx/https-xxx

www 17524 17523 0 21:00:41 ? 0:01 ns-httpd -d /home/xxx/xxx/https-xxx

www 17525 17524 0 21:00:43 ? 0:12 ns-httpd -d /home/xxx/xxx/https-xxx

  ------

OS 的に起動時のユーザに何か制限(?)があるのか、

ソフト側で何らかの制限(?)があるのかは

分かりませんが、とりあえず解決はしました。

#もし起動時のユーザに関連して

#「OS 側に原因があるため」というような

#情報をお持ちの方がいらっしゃいましたら

#どなたかご教授頂ければ幸いです。

yoshimura
レギュラーアドバイザー

ユーザプロセスにcore を生成させる方法

setuid() を利用してユーザを変更している

からですね。

"man 4 core" には「実効ユーザーID が実ユーザー

ID と異なるプロセスは、コア・イメージを生成

しません。」とあります。

たしかセキュリティ上の仕様だと思います。

DS250
時折のビジター

ユーザプロセスにcore を生成させる方法

>yoshimura 様、

情報ありがとうございます。

確かに"man 4 core" に以下の記述に該当しますね。

-----

A process with an effective user ID different from its real user ID does not produce a core image.

-----

実は今回が初めての質問で、

こんなに色々な情報が頂けて非常に助かりました。

hazelwood 様、yoshimura 様、

本当にありがとうございました。