summaryrefslogtreecommitdiff
path: root/nice.c
blob: 274191d475c463ea877e2006c01cdd93788fdff3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#define _XOPEN_SOURCE 700
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
	int increment = 0;
	int c;

	while ((c = getopt(argc, argv, "n:")) != -1) {
		switch (c) {
		case 'n':
			increment = atoi(optarg);
			break;

		default:
			return 1;
		}
	}

	argv += optind;

	errno = 0;
	if (nice(increment) == -1 && errno != 0) {
		perror("nice");
	}

	execvp(argv[0], argv);

	perror("nice");
	return errno == ENOENT ? 127 : 126;
}