OSはHP-UNIXです。
あるファイルがあって、中身を手で書き換えても
勝手にファイルが更新されてしまいます。
あるプロセスが定期的にファイルを更新しているように思われます。

HP-UNIXに限らなくてもいいので
あるファイルに対してどのプロセスがアクセスしにいったか
知る方法はないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> あるファイルに対してどのプロセスがアクセスしにいったか


> 知る方法はないでしょうか?

「アクセスしにいった」は分からないんですけど、「アクセスしている」は、fuser という
コマンドで分かります。

こいつはファイルをつかんでいるプロセスのIDを報告してくれます。
ps と組合わせれば、正体が分かります。

詳しくはマニュアルをどうぞ。
    • good
    • 0

どんなファイルかわかりませんが、


もともと手で書きえるためのファイルでない可能性はありませんか?

例えば、ある種の設定を保存しているファイルなら、
設定変更時に変わってしまうでしょうし。
ウインドマネージャーが、終了時にその時起動していたプロセスを記録して,次回起動時に再現するために使うファイルとかもありますし。



どのプロセスがアクセスしにいったか知る方法は思いつきませんが、ファイルシステムあたりを細工してアクセスログが残るように改造するとか(^^;;


あとは、ファイルにロックを掛けるとか、パーミッションを細工するとかして、何かのプロセスが書き換えにいった時に、
ブロックなり失敗なりするようにしておけば、
どこかにエラーメッセージが出るとか、痕跡が残る可能性があるかも知れませんね。
    • good
    • 0

仕事上HP-UXを触ってる者です。


ご質問のとあるファイルに対してどのプロセスがアクセスしにいったかという方法は多分無いと思います。

いつも定刻に当該ファイルが更新されてしまうのであれば、その時間に起動しているプロセスの中であたり(TOP等で)をつけて見ては?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QUNIXのミューズで最下層のデイレクト利にあるファイルを上のデイレクトリに移動させるには?

どういう命令文を入力すればよいのでしょうか?
本を調べてみたのですがわかりません.
どなたか教えていただけないでしょうか?
よろしくお願いします.

Aベストアンサー

ミューズってなんですか?
教えてください。

cd target-dir
mv target-file ..

で、済む話じゃないんですよね?

Qunix、solarisでいうプロセスサイズってなに??

タイトルどおりなんですが、、というかUNIXやsolarisだけじゃないかもしれませんが、
「プロセスサイズ」というのはなんなのでしょうか?メモリの使用領域とかとはまた違うのでしょうか?

Aベストアンサー

「メモリの使用領域」と思っていいんじゃないでしょうか。
ヒープ領域を消費していくとその分だけプロセスサイズは増大し、
また仮想記憶でページアウト、スラッシングが起こるとディスクに退避された分だけ
プロセスサイズは減少します。

QUNIX(hp-ux)のコマンド履歴↑↓

↑ ↓キーを押してでコマンド履歴を出せるようにするにはどこを設定すればよいか教えてください。Tera Termを使用しています。


よろしくお願いします。

Aベストアンサー

少なくともcshで、カーソルキーを使ったヒストリ呼び出しは不可能です。

bashやtcshなどの、より強力な拡張シェルを外部から導入すれば可能になります。

cshにおけるヒストリ呼び出しといえば、
1.historyコマンドで表示されるイベント番号を使った
 !イベント番号
 という呼び出し。
2.!! という直前のコマンドの呼び出し
というのが一般的かと思います。

QHP-UX11.0 プロセスのメモリ使用量のしらべかた

MPI処理するプログラムのプロセス毎のメモリ使用量を調査したいのですが、以下の調査方法ではログがうまくのこりません。
以下の手順でSolaris8はうまくできます。
<手順>
% script > log
% top -s 1 を実行。
ほかの端末エミュレータでプログラムを実行。
プログラム終了後topを実行している端末エミュレータで、Ctrl+dでscriptの終了。ログの確認を

% more log
でプロセス毎のメモリ使用量を調べる。

以上なのですが、more でみると文字化けしてしまいます。
ほかにプロセス毎のメモリを調べる方法をご存知でしたら教えていただきたいと思います。宜しくお願い致します。

Aベストアンサー

% top -s 1 -f log
% more log
ではいかがでしょうか?
あと可能性として(?)、予め以下が必要だったりとか?
% export LANG=C

QXXX.pagファイルとXXX.dirファイルの中身が見たい。

拡張子が「pag」「dir」のファイルの中身を見たいのですが、どのようなコマンドを使えば
読むことが可能でしょうか?

使用しているOSは、Solaris8です。

宜しくお願いします!

Aベストアンサー

#3の方の言われるとおり,dbm形式のデータベースファイルだと思います。
dbmのデータとして読み出したいのであれば,下のようなPerlスクリプトを使えば出来ます。

#!/bin/perl
dbmopen(%dbmassoc, 'データベース名', undef);
while (($key, $val) = each %dbmassoc) {
print $key . "\t" . $val . "\n";
}
dbmclose(dbmassoc);

'データベース名'のところには,例えば /etc/aliases.pag や /etc/aliases.dir なら '/etc/aliases' を入れます。
このスクリプトでは,キーと値をタブで区切って出力しています。

そうじゃなくて,pagファイル,dirファイルそのものの中身が読みたいのであれば,バイナリビューアーなどを使えばよいと思います。私はbviewやhexeditなどのツールを使っています。OSに標準で含まれているツールではないので,どっかから探しだしてきてインストールしてください。

#3の方の言われるとおり,dbm形式のデータベースファイルだと思います。
dbmのデータとして読み出したいのであれば,下のようなPerlスクリプトを使えば出来ます。

#!/bin/perl
dbmopen(%dbmassoc, 'データベース名', undef);
while (($key, $val) = each %dbmassoc) {
print $key . "\t" . $val . "\n";
}
dbmclose(dbmassoc);

'データベース名'のところには,例えば /etc/aliases.pag や /etc/aliases.dir なら '/etc/aliases' を入れます。
このスクリプトでは,キーと値をタブで区切って出力...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報