MIDAS
Loading...
Searching...
No Matches
msetpriority.cxx File Reference
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sched.h>
#include <sys/resource.h>
Include dependency graph for msetpriority.cxx:

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 18 of file msetpriority.cxx.

19{
20 int status;
21
22 // check if we are root
23
24 uid_t uid = getuid();
25 uid_t euid = geteuid();
26
27 //printf("uid %d, euid %d\n", uid, euid);
28
29 if (euid != 0) {
30 fprintf(stderr, "%s: must be setuid-root, please do: chown root, chmod u+s\n", argv[0]);
31 exit(1);
32 }
33
34#if 1
35 struct sched_param sparam;
36 sparam.sched_priority = 50;
37 //status = sched_setscheduler(0, SCHED_RR, &sparam);
39
40 if (status < 0) {
41 fprintf(stderr, "%s: sched_setscheduler() returned %d, errno %d (%s)\n", argv[0], status, errno, strerror(errno));
42 exit(1);
43 }
44#endif
45
46#if 0
48
49 if (status < 0) {
50 fprintf(stderr, "%s: setpriority() returned %d, errno %d (%s)\n", argv[0], status, errno, strerror(errno));
51 exit(1);
52 }
53#endif
54
55 // surrender root privileges
56 status = setuid(uid);
57
58 if (status < 0) {
59 fprintf(stderr, "%s: cannot surrender root priveleges, setuid(%d) returned %d, errno %d (%s)\n", argv[0], uid, status, errno, strerror(errno));
60 exit(1);
61 }
62
63 if (argc < 2) {
64 fprintf(stderr, "Usage: %s program [arguments...]\n", argv[0]);
65 exit(1);
66 }
67
68 status = execvp(argv[1], &argv[1]); // does not return unless error.
69
70 fprintf(stderr, "%s: execvp(\"%s\") returned %d, errno %d (%s)\n", argv[0], argv[1], status, errno, strerror(errno));
71 exit(1);
72}
DWORD status
Definition odbhist.cxx:39
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
Here is the call graph for this function: