summaryrefslogtreecommitdiff
path: root/sysutils/pidof/files/patch-pidof.c
diff options
context:
space:
mode:
authorRoman Bogorodskiy <novel@FreeBSD.org>2005-05-02 07:48:41 +0000
committerRoman Bogorodskiy <novel@FreeBSD.org>2005-05-02 07:48:41 +0000
commit9920501c2a2c7f094c85a358e30400ff3e177731 (patch)
treeecd96c3fc4f1df5b33186bf1ddbd560a76936563 /sysutils/pidof/files/patch-pidof.c
parent- Fix fetching (diff)
Add pidof - a tool which prints PID of given process name.
Notes
Notes: svn path=/head/; revision=134486
Diffstat (limited to 'sysutils/pidof/files/patch-pidof.c')
-rw-r--r--sysutils/pidof/files/patch-pidof.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sysutils/pidof/files/patch-pidof.c b/sysutils/pidof/files/patch-pidof.c
new file mode 100644
index 000000000000..7cc71b28d638
--- /dev/null
+++ b/sysutils/pidof/files/patch-pidof.c
@@ -0,0 +1,22 @@
+--- pidof.c.orig Mon May 2 07:26:03 2005
++++ pidof.c Mon May 2 07:40:31 2005
+@@ -53,10 +53,19 @@
+ if ((kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, "kvm_open")) == NULL)
+ (void)errx(1, "%s", kvm_geterr(kd));
+ else {
++#if __FreeBSD__ < 5
++ p = kvm_getprocs(kd, KERN_PROC_ALL, 0, &n_processes);
++#else
+ p = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_processes);
++#endif /* __FreeBSD__ < 5 */
+ for (i = 0; i<n_processes; i++)
++#if __FreeBSD__ < 5
++ if (strncmp(process_name, p[i].kp_proc.p_comm, MAXCOMLEN+1) == 0) {
++ (void)printf("%d ", (int)p[i].kp_proc.p_pid);
++#else
+ if (strncmp(process_name, p[i].ki_comm, COMMLEN+1) == 0) {
+ (void)printf("%d ", (int)p[i].ki_pid);
++#endif /* __FreeBSD__ < 5 */
+ processes_found++;
+ }
+