all、 systemtapスクリプトを使用すると問題が発生します。 私はsystemtapスクリプトでkill signal senderのホスト名を取得する方法を知りません。例えば、 。私はサーバ 'sf1'でkill -9 xclock_process_pidを実行しています。同時に、私は1.stap -x xclock_process_pidを実行してxclockを監視します。 'sf1'にkill -9 xclock_process_pidを送信すると、systemtapスクリプトでサーバ名 'sf1'を取得する方法はありますか?システムタップスクリプトでkillシグナル送信者のホスト名を取得する方法
でも問題が発生しています。私1.stapを以下に示します。
#!/usr/bin/env stap
function hostname:string() %{
STAP_RETURN(current->nsproxy->uts_ns->name.nodename);
%}
probe oneshot {
log(hostname())
}
私は「STAP -g 1.stap」を実行したときに、あなたが私を助けてもらえ、次のエラーをreprotでしょうか?意味エラー:プローブポイントが0の位置で不一致(代替:__nfs __scheduler __signal __tcpmib __vm _linuxmib _signal _sunrpc _syscall _vfs begin begin(番号)endエラー番号(番号)汎用ioblock ioblock_trace ioscheduler ioscheduler_trace ipmib irq_handlerカーネルkprobe kprocess linuxmib module (string))nd_syscall netdev never nfs nfsdプロセスプロセス(番号)プロセス(文字列)procfs procfs(文字列)スケジューラscsiシグナルソケットsoftirq staprun sunrpc syscall tcp tcpmibタイマーtty udp vfs VMワークキュー):systemtap.stapの識別子 'oneshot'プローブポイントを解決している間に87:7ソース:プローブoneshot {^パス2:解析に失敗しました。別の '--vp 01'オプションでもう一度試してください。
ありがとうございます。 – user1102185
私が 'stap -g 1.stap'を実行すると、上記のエラーが再現されます。確認してもらえますか? – user1102185
"oneshot"プローブエイリアスが追加されたら、システムタップのバージョンが2.5(2014-04-30)より古い必要があります。 'probe begin {log(....);}を使います。代わりにexit()} 'を実行します。プローブを使用すると – fche