aboutsummaryrefslogtreecommitdiff
path: root/procps
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-07-21 21:32:12 +0000
committerEric Andersen <andersen@codepoet.org>2000-07-21 21:32:12 +0000
commitbf960f58e2fc56402cc5c3c090d90b706a4de5f2 (patch)
treead4f94b99f7e82e9e4a1245c271ef4962b16e764 /procps
parent7df345e1494e61ad94dd03f9a48f8e5b52a21d2b (diff)
downloadbusybox-w32-bf960f58e2fc56402cc5c3c090d90b706a4de5f2.tar.gz
busybox-w32-bf960f58e2fc56402cc5c3c090d90b706a4de5f2.tar.bz2
busybox-w32-bf960f58e2fc56402cc5c3c090d90b706a4de5f2.zip
Added 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com>
-Erik
Diffstat (limited to 'procps')
-rw-r--r--procps/renice.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/procps/renice.c b/procps/renice.c
new file mode 100644
index 000000000..af7ce94ca
--- /dev/null
+++ b/procps/renice.c
@@ -0,0 +1,53 @@
1/*
2 * Mini renice implementation for busybox
3 *
4 *
5 * Copyright (C) 2000 Dave 'Kill a Cop' Cinege <dcinege@psychosis.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 *
21 */
22
23#include "internal.h"
24#include <stdio.h>
25#include <errno.h>
26#include <sys/time.h>
27#include <sys/resource.h>
28
29
30extern int renice_main(int argc, char **argv)
31{
32 int prio, err = 0;
33
34 if (argc < 3) usage(renice_usage);
35
36 prio = atoi(*++argv);
37 if (prio > 20) prio = 20;
38 if (prio < -20) prio = -20;
39
40 while (*++argv) {
41 int ps = atoi(*argv);
42 int oldp = getpriority(PRIO_PROCESS, ps);
43
44 if (setpriority(PRIO_PROCESS, ps, prio) == 0) {
45 printf("%d: old priority %d, new priority %d\n", ps, oldp, prio );
46 } else {
47 fprintf(stderr, "renice: %d: setpriority: ", ps);
48 perror("");
49 err = 1;
50 }
51 }
52 exit(err);
53}