Blame test/pid.awk

Packit Service f629e6
# From: John C. Oppenheimer <jco@slinky.convex.com>
Packit Service f629e6
# Subject: gawk-3.0.2 pid test
Packit Service f629e6
# To: arnold@skeeve.atl.ga.us
Packit Service f629e6
# Date: Mon, 10 Feb 1997 08:31:55 -0600 (CST)
Packit Service f629e6
# 
Packit Service f629e6
# Thanks for the very quick reply.
Packit Service f629e6
# 
Packit Service f629e6
# This all started when I was looking for how to do the equivalent of
Packit Service f629e6
# "nextfile." I was after documentation and found our gawk down a few
Packit Service f629e6
# revs.
Packit Service f629e6
# 
Packit Service f629e6
# Looks like the nextfile functionality was added somewhere around
Packit Service f629e6
# 2.15.5.  There wasn't a way to do it, until now! Thanks for the
Packit Service f629e6
# functionality!
Packit Service f629e6
# 
Packit Service f629e6
# Saw the /dev/xxx capability and just tried it.
Packit Service f629e6
# 
Packit Service f629e6
# Anyway, I wrote a pid test.  I hope that it is portable.  Wanted to
Packit Service f629e6
# make a user test, but looks like id(1) is not very portable.  But a
Packit Service f629e6
# little test is better than none.
Packit Service f629e6
# 
Packit Service f629e6
# John
Packit Service f629e6
# 
Packit Service f629e6
# pid.ok is a zero length file
Packit Service f629e6
# 
Packit Service f629e6
# ================== pid.awk ============
Packit Service f629e6
BEGIN {
Packit Service f629e6
#	getline pid <"/dev/pid"
Packit Service f629e6
#	getline ppid <"/dev/ppid"
Packit Service f629e6
# 12/2001: switch to PROCINFO. ADR
Packit Service f629e6
	pid = PROCINFO["pid"]
Packit Service f629e6
	ppid = PROCINFO["ppid"]
Packit Service f629e6
Packit Service f629e6
	if (pid != ok_pid)
Packit Service f629e6
		printf "Bad pid %d, wanted %d\n", pid, ok_pid
Packit Service f629e6
	else
Packit Service f629e6
		print "PID ok"
Packit Service f629e6
Packit Service f629e6
	if (ppid != ok_ppid)
Packit Service f629e6
		printf "Bad ppid %d, wanted %d\n", ppid, ok_ppid
Packit Service f629e6
	else
Packit Service f629e6
		print "PPID ok"
Packit Service f629e6
Packit Service f629e6
	# ADR --- added
Packit Service f629e6
#	close("/dev/pid")
Packit Service f629e6
#	close("/dev/ppid")
Packit Service f629e6
Packit Service f629e6
	print "All Done."
Packit Service f629e6
}