No.2ベストアンサー
- 回答日時:
以下のようなプログラムでプロセス名が取得できます。
他にもプロセスに関する情報をとれるのでがんばってください。
/* #define SVR4_2_PROC */ /* for Solaris 2.6 */
#include
#include
#include
#ifdef SVR4_2_PROC
#include
#else
#include
#endif
#include
#include
#include
int
psinfo_of (pid, info)
pid_t pid;
#ifdef SVR4_2_PROC
psinfo_t *info;
#else
prpsinfo_t *info;
#endif
{
int fd;
char fname[32];
#ifdef SVR4_2_PROC
/* Solaris 2.6 */
sprintf (fname, "/proc/%d/psinfo", pid);
if ((fd = open (fname, O_RDONLY)) < 0) return -1;
if (read (fd, info, sizeof (psinfo_t)) < 0) {
close (fd);
return -1;
}
#else
/* Solaris 2.5 */
sprintf (fname, "/proc/%05d", pid);
if ((fd = open (fname, O_RDONLY)) < 0) return -1;
if (ioctl (fd, PIOCPSINFO, info) < 0) {
close (fd);
return -1;
}
#endif
close (fd);
return 0;
}
int
main (argc, argv)
int argc;
char *argv[];
{
#ifdef SVR4_2_PROC
psinfo_t info;
#else
prpsinfo_t info;
#endif
if (psinfo_of (getpid(), &info) < 0) exit (1);
fprintf (stdout, "name:%s\n", info.pr_fname);
exit(0);
}
No.1
- 回答日時:
samba,Netscape,canna等のメジャーなものは
/tmp 等に起動時にファイルを作って、2重起動
のチェックに使っています。
っていう方法ではだめですか?
他にはSolaris 2.X からは /proc ファイルシステム
がありますので proc をチェックすることでもチェック
できますが、プログラムが複雑になるかな。
ご回答ありがとうございます。
起動時にファイルを作る方法は簡単で私も考えた方法
ですが、起動中はファイルが存在し、プロセス終了後
はファイルが存在しないという状態が保証されない
ため、できれば他の方法がいいかなと思うのですが...
procをチェックするというのは具体的にどうすること
なのでしょうか?
教えて頂けると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(悩み相談・人生相談) 僕は元々末広二重なのですが最近朝起きた時に平行二重になりかけている?ような感じになります。 毎朝なん 1 2022/04/29 10:09
- 会社・職場 確認をダブルチェック化すると注意力が下がる気がするんですがいかがでしょうか? 8 2022/09/12 06:19
- ライフスタイル・ヘルスケア 携帯のGPS機能について、教えてください。 3 2022/06/25 02:27
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- その他(悩み相談・人生相談) 障害者施設に行きたいと思いたくなくなってきました。下記に書く内容は普通ですか? 2 2023/07/19 16:50
- メイク 片目だけ二重を治す方法! 1 2022/11/12 14:41
- iCloud AppleID サポートからのメール 3 2023/07/05 15:14
- Chrome(クローム) ホームページ掲載の複数のリンクのリンク切れを全部簡単にチェックする方法ないですか? 1 2023/06/02 05:16
- 環境学・エコロジー 二酸化炭素の排出 1 2023/08/07 16:40
- Chrome(クローム) Chromeで複数タブを開いた状態で閉じ、再度開いた場合のタブの回復は? 2 2022/04/02 01:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
タスクバーの音量アイコンをク...
-
httpdの子プロセスがゾンビ化す...
-
プロセス、サービス、デーモン...
-
CPU使用率が常に50~10...
-
【プログラム】 iu14d2n.tmp ...
-
16bitについて
-
プロンプトが返らない
-
他ユーザーの強制 logout。
-
ネットにつなぐだけでCPU1...
-
PIDからプロセス・アプリを特定...
-
Windowsホストプロセス Rundll...
-
メモ帳でhtmlを修正して上...
-
プロセスがタスクマネージャー...
-
ネットワーク使用率約75%維持状...
-
アクロバットを終了しても、プ...
-
コマンドライン上でファイルを...
-
タスクマネージャのCPU率がおか...
-
Windowsで作れるスレッド最大数...
-
HP-UX11.0 プロセスのメモリ使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
プロセス、サービス、デーモン...
-
タスクバーの音量アイコンをク...
-
タスクマネージャのCPU率がおか...
-
CPU使用率が常に50~10...
-
System Idle Processってなに?...
-
コマンドライン上でファイルを...
-
Windowsで作れるスレッド最大数...
-
タスクマネージャで終了できな...
-
プロンプトが返らない
-
ps コマンドのステータス。S Ss...
-
プロセスがタスクマネージャー...
-
Powershell プロセス二重起動
-
【プログラム】 iu14d2n.tmp ...
-
Windowsで同時にオープンできる...
-
Windows 10のエクスプローラー...
-
ネットワーク使用率約75%維持状...
-
httpdの子プロセスがゾンビ化す...
-
デーモンモードとは何でしょうか?
-
IE プロセスが消えない
おすすめ情報