Assuming the process has made no significant changes to its arguments, environment variables, and file descriptors, it's not that hard to re-execute the exact same process.
As long as you can get the original arguments, anyway.
In general, with C/C++:
With Bourne shell:
There are some things to be aware of - a process that changes directory might make the arguments "wrong", and if a process is started with a different zeroth argument than the actual command/executable file name. For example, a login bash shell is usually started with the zeroth argument set to "-bash", even though the bash executable is usually something like /bin/bash. If you try to do "exec $0" from a bash login shell, it'll probably fail.
The problem in C/C++ is getting the original arguments if you're deep inside an executable. On Linux, you can probably find the original arguments in the global "__libc_argv" symbol. On Solaris, it's "___Argv". These are in libc.so on both operating systems, which is linked into just about every running process when it starts. (Linux binaries can still be statically linked, so beware if you're dealing with one of those.)
And in any case they have to be preserved. If something along the way modifies them, you can't recover them.
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)
Hey all, I need to launch a script from within 2 other scripts that can run independently of the two parent scripts... Im having a hard time doing this, if anyone knows how please let me know.
More detail.
ScriptA (bash), ScriptB (ksh), ScriptC (bash)
ScriptA, launches ScriptB
ScirptB,... (7 Replies)
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)
Hi Experts,
I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state.
On doing cat /proc/<pid>wchan showing the "__init_begin" in the output.
Can you please help me here... (0 Replies)
Hi Experts,
I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state.
On doing cat /proc/<pid>wchan showing the "__init_begin" in the output.
Can you please help me here... (1 Reply)
Hi Experts,
I am facing one problem here which is one process always stuck in running state which causes the other similar process to sleep state . This causes my system in hanged state.
On doing cat /proc/<pid>wchan showing the "__init_begin" in the output.
Can you please help me here... (6 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 CENTOS
openvt
OPENVT(1) Linux 1.x OPENVT(1)NAME
openvt - start a program on a new virtual terminal (VT).
SYNOPSIS
openvt [-c vtnumber] [OPTIONS] [--] command
DESCRIPTION
openvt will find the first available VT, and run on it the given command with the given command options, standard input, output and error
are directed to that terminal. The current search path ($PATH) is used to find the requested command. If no command is specified then the
environment variable $SHELL is used.
OPTIONS
-c, --console=VTNUMBER
Use the given VT number and not the first available. Note you must have write access to the supplied VT for this to work;
-f, --force
Force opening a VT without checking whether it is already in use;
-e, --exec
Directly execute the given command, without forking. This option is meant for use in /etc/inittab;
-s, --switch
Switch to the new VT when starting the command. The VT of the new command will be made the new current VT;
-u, --user
Figure out the owner of the current VT, and run login as that user. Suitable to be called by init. Shouldn't be used with -c or -l;
-l, --login
Make the command a login shell. A - is prepended to the name of the command to be executed;
-v, --verbose
Be a bit more verbose;
-w, --wait
wait for command to complete. If -w and -s are used together then openvt will switch back to the controlling terminal when the com-
mand completes;
-V, --version
print program version and exit;
-h, --help
show this text and exit.
-- end of options to openvt.
NOTE
If openvt is compiled with a getopt_long() and you wish to set options to the command to be run, then you must supply the end of options --
flag before the command.
EXAMPLES
openvt can be used to start a shell on the next free VT, by using the command:
openvt bash
To start the shell as a login shell, use:
openvt -l bash
To get a long listing you must supply the -- separator:
openvt -- ls -l
HISTORY
Earlier, openvt was called open. It was written by Jon Tombs <jon@gtex02.us.es or jon@robots.ox.ac.uk>. The -w idea is from "sam".
SEE ALSO chvt(1), doshell(8), login(1)19 Jul 1996 V1.4 OPENVT(1)