[Thread Prev][Thread Next][Index]
Re: process ID, collisions
Inspired by a suggestion from Joe Sirott, here's a platform-independent
way to get the process identification (PID) of Ferret. One simply needs
to obtain the PARENT process identification (PPID) of the shell launched
by the SPAWN command. So create a Perl script "ppid":
#!/usr/bin/perl
print getppid . "\n";
and place it in a location accessible to the Ferret SPAWN command (e.g. in
your PATH). Then access the PID in Ferret v5.4x using
yes? let pid = {spawn:"ppid"}
If your system doesn't have Perl, see Joe's C program "ppid.c" below;
you'll need to compile it separately for each platform on which you run
Ferret.
Cheers,
Andrew
----------------------------------------------------------------
Date: Mon, 19 Aug 2002 16:45:38 -0700
From: Joe Sirott <sirott@pmel.noaa.gov>
Subject: Re: process ID, collisions
If your shell doesn't support a method for returning the parent process
id, and you don't want to hassle with external functions, it's trivial to
write a program to return it. I've included it below. Compile it with:
gcc -o ppid ppid.c
and call it from Ferret as:
sp ppid
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main() {
printf("%d\n",getppid());
}
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement