46 lines
		
	
	
		
			717 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			717 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								lib LibC
							 | 
						||
| 
								 | 
							
								  WNOHANG = 0x00000001
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @[ReturnsTwice]
							 | 
						||
| 
								 | 
							
								  fun fork : PidT
							 | 
						||
| 
								 | 
							
								  fun getpgid(pid : PidT) : PidT
							 | 
						||
| 
								 | 
							
								  fun kill(pid : PidT, signal : Int) : Int
							 | 
						||
| 
								 | 
							
								  fun getpid : PidT
							 | 
						||
| 
								 | 
							
								  fun getppid : PidT
							 | 
						||
| 
								 | 
							
								  fun exit(status : Int) : NoReturn
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  ifdef x86_64
							 | 
						||
| 
								 | 
							
								    alias ClockT = UInt64
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    alias ClockT = UInt32
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  SC_CLK_TCK = 3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  struct Tms
							 | 
						||
| 
								 | 
							
								    utime : ClockT
							 | 
						||
| 
								 | 
							
								    stime : ClockT
							 | 
						||
| 
								 | 
							
								    cutime : ClockT
							 | 
						||
| 
								 | 
							
								    cstime : ClockT
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  fun times(buffer : Tms*) : ClockT
							 | 
						||
| 
								 | 
							
								  fun sysconf(name : Int) : Long
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class Process
							 | 
						||
| 
								 | 
							
								  def self.exit(status = 0)
							 | 
						||
| 
								 | 
							
								    LibC.exit(status)
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def self.pid
							 | 
						||
| 
								 | 
							
								    LibC.getpid
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  def self.getpgid(pid : Int32)
							 | 
						||
| 
								 | 
							
								    ret = LibC.getpgid(pid)
							 | 
						||
| 
								 | 
							
								    raise Errno.new(ret) if ret < 0
							 | 
						||
| 
								 | 
							
								    ret
							 | 
						||
| 
								 | 
							
								  end
							 | 
						||
| 
								 | 
							
								end
							 |