This can be a terrible idea, but this is how you do it.
Logon as root. Then try to set your process to a very high priority, thus avoiding the scheduler.
One way is -- Use the nice command as a workaround. Also: in Linux there are ways to create realtime priority classes for processes. To determine the highest realtime priority you can set programmatically, make use of the sched_get_priority_max function. Also be aware: MAX_USER_RT_PRIO is the priority user space should ever run in. Period. See sched.h
If timing is such a big deal you should consider synchronization primitives: mutexes, semaphores, locking.
If your code is running as root you can use the nice() syscall to accomplish priority changes as well.
Note: If your process is having a problem it can bring the whole system to its knees.
Since you do not seem to know about process priority I would suggest that other mechanisms be tried first, before nice(). Meaning: Because you are asking this question, it would appear you may not be experienced enough to do realtime coding.
:cool:
I need to execute a shell script to do the following:
cat a file
run two back ground processes using the first two values from the file
wait till those background processes finish
run two more background processes using the next two values from the file
wait till those background... (1 Reply)
o
hola..
Tengo un script que se ejecuta bajo una tarea del CronJOb del unix, tengo la version 11 de unix, mi script tiene un ciclo que lee unos archivos .txt luego cada uno de esos archivos debe pasar por un procedimiento almacenado el cual lo tengo almacenado en mi base de datos oracle 10g,... (4 Replies)
Hi,
I am trying to run a simple UNIX command after i successfully executed SFTP command as shown below.
-----------------------------------------
echo 'Step-1'
sftp -vvv -b path
exit
echo 'Step-2'
------------------------------------------
In above script it executes from the 1st... (3 Replies)
Hello all,
I would be happy if any one could help me with a shell script that would determine all the processes running on a Unix server and post a mail if any of the process is not running or aborted.
Thanks in advance
Regards,
pradeep kulkarni.
:mad: (13 Replies)
Hi Experts, we do have a shell script for Unix Solaris, which will kill all the process manullay, it used to work in my previous env, but now it is throwing this error.. could some one please help me to resolve it
This is how we execute the script (and this is the requirement) ... (2 Replies)
Hi,
I was Googling to get info "How OS loads process into its memory to execute?" i mean when i execute ./<exename> , How OS exectes it?
It will be better if i tell my intention,
In my $LOGNAME saveral process are running, among all of these two process are my target process. Basically I... (1 Reply)
get email notification from from system when a process from XXXX user takes longer than 15 min run.Let me know the time estimation for the same.
hi ,any one please tell me , how to write a script to get email notification from system when a process from as mentioned above a xxxx user takes... (1 Reply)
I need to develop a process/daemon which will constantly monitor a file for new entry and execute a command.
for eg, there is a file /var/log/inotify.log
When a new entry like below gets appeneded to this file, execute the command as follows.
/home/user/public_html/bad.php|CREATE
... (2 Replies)
I am writing a script to kick off a process to gather logs on multiple nodes in parallel using "&". These processes create individual log files. Which I would like to filter and convert in CSV format after they are complete. I am facing following issues:
1. Monitor all Processes parallelly.... (5 Replies)
Team,
I have multiple batchjobs running in VM, if I do ps -ef |grep java or tomcat I am getting multiple process list.
How do I get my exact tomcat process running and that is unique? via shell script? (4 Replies)
Discussion started by: Ghanshyam Ratho
4 Replies
LEARN ABOUT OPENDARWIN
rtprio
RTPRIO(2) BSD System Calls Manual RTPRIO(2)NAME
rtprio -- examine or modify a process realtime or idle priority
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <sys/rtprio.h>
int
rtprio(int function, pid_t pid, struct rtprio *rtp);
DESCRIPTION
The rtprio() system call is used to lookup or change the realtime or idle priority of a process.
The function argument specifies the operation to be performed. RTP_LOOKUP to lookup the current priority, and RTP_SET to set the priority.
The pid argument specifies the process to be used, 0 for the current process.
The *rtp argument is a pointer to a struct rtprio which is used to specify the priority and priority type. This structure has the following
form:
struct rtprio {
u_short type;
u_short prio;
};
The value of the type field may be RTP_PRIO_REALTIME for realtime priorities, RTP_PRIO_NORMAL for normal priorities, and RTP_PRIO_IDLE for
idle priorities. The priority specified by the prio field ranges between 0 and RTP_PRIO_MAX (usually 31). 0 is the highest possible prior-
ity.
Realtime and idle priority is inherited through fork() and exec().
A realtime process can only be preempted by a process of equal or higher priority, or by an interrupt; idle priority processes will run only
when no other real/normal priority process is runnable. Higher real/idle priority processes preempt lower real/idle priority processes.
Processes of equal real/idle priority are run round-robin.
RETURN VALUES
The rtprio() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate
the error.
ERRORS
The rtprio() system call will fail if
[EINVAL] The specified prio was out of range.
[EPERM] The calling process is not allowed to set the realtime priority. Only root is allowed to change the realtime priority of
any process, and non-root may only change the idle priority of the current process.
[ESRCH] The specified process was not found.
SEE ALSO nice(1), ps(1), rtprio(1), setpriority(2), nice(3), renice(8)AUTHORS
The original author was Henrik Vestergaard Draboel <hvd@terry.ping.dk>. This implementation in FreeBSD was substantially rewritten by David
Greenman.
BSD July 23, 1994 BSD