/* $Id: elevate.c 4233 2012-02-04 01:01:58Z flaterco $ */ /* Elevate a process to realtime priority. */ /* This has to be suid root to work. */ /* gcc -O2 -Wall -Wextra -pedantic -s -o elevate elevate.c */ /* chown root. elevate */ /* chmod 4755 elevate */ #include #include #include #include int main (int argc, char **argv) { struct sched_param sp; pid_t pid; if (argc != 2 || sscanf (argv[1], "%d", &pid) != 1) { fprintf (stderr, "Usage: elevate pid\n"); return EXIT_FAILURE; } sp.sched_priority = sched_get_priority_min(SCHED_FIFO); if (sched_setscheduler (pid, SCHED_FIFO, &sp)) { perror ("elevate"); return EXIT_FAILURE; } return EXIT_SUCCESS; }