module Process
Public Class Methods
getitimer → [interval, value]
click to toggle source
Returns the interval and the remaining seconds to next alarm.
VALUE
rb_process_getitimer( VALUE obj)
{
struct itimerval it;
VALUE r;
if (getitimer( ITIMER_REAL, &it) < 0)
rb_raise( rb_eSystemCallError, "getitimer failed.");
r = rb_ary_new3( 2,
suppelement_timeval_sec( &it.it_interval),
suppelement_timeval_sec( &it.it_value));
return r;
}
renice( pid = nil, priority) → nil
click to toggle source
Set a new nice value. If pid is nil, renice the current
process.
VALUE
rb_process_renice( int argc, VALUE *argv, VALUE obj)
{
VALUE p1, p2;
pid_t pid;
int prio;
if (rb_scan_args( argc, argv, "11", &p1, &p2) == 1)
pid = getpid(), prio = NUM2INT( p1);
else
pid = NUM2INT( p1), prio = NUM2INT( p2);
rb_secure(2);
if (setpriority( PRIO_PROCESS, pid, prio) < 0)
rb_sys_fail(0);
return Qnil;
}
setitimer( interval = nil, value = nil) → nil
click to toggle source
Set alarm timer. If value is nonzero, it is the expiration
time to the first alarm. If it is zero, the timer is disabled. If
value is nonzero and interval is zero, the alarm
is triggered once.
VALUE
rb_process_setitimer( int argc, VALUE *argv, VALUE obj)
{
VALUE isec;
VALUE vsec;
struct itimerval it;
rb_scan_args( argc, argv, "02", &isec, &vsec);
suppelement_sec_timeval( isec, &it.it_interval);
if (NIL_P(vsec) && !NIL_P(isec))
it.it_value = it.it_interval;
else
suppelement_sec_timeval( vsec, &it.it_value);
if (setitimer( ITIMER_REAL, &it, NULL) < 0)
rb_raise( rb_eSystemCallError, "setitimer failed.");
return Qnil;
}
sync → nil
click to toggle source
Force completion of pending disk writes (flush cache). See sync(8).
VALUE
rb_process_sync( VALUE obj)
{
sync();
return Qnil;
}