02-12-2014
Signal out from fork()'d shell script back to the C++ application
Hi,
I am writing a C++ application; in which at one point I fork() a new process, which executes a shell script (via execv() call).
Now the shell script can take a while to finish (tarring, burning a cd, etc.) and I would like to update the parent application about the progress (while the script is running).
Any ideas on how to do this?
Thank you!
Miro
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
AIX 4.3.3
I am trying to write a signal handler into a ksh shell script. I would like to capture the SIGTERM, SIGINT, and the SIGTSTP signals, print out a message to the terminal, and continue executing the script. I have found a way to block the signals:
#! /bin/ksh
SIGTERM=15
SIGINT=2... (2 Replies)
Discussion started by: jalburger
2 Replies
2. UNIX for Advanced & Expert Users
Hi
can any please tell me
is it possible to catch the signal in a shell script like we do in C.
if yes please give me some idea or a link. (4 Replies)
Discussion started by: Raom
4 Replies
3. Shell Programming and Scripting
Helo,
I want to write shell script which takes back of all binaries (exe files).
and when i uninstall the upgraded system which automatically restore the old binary which we have take as back up.
can u tell me how to write such shell scripts.
Regards,
Amit (5 Replies)
Discussion started by: amitpansuria
5 Replies
4. Shell Programming and Scripting
I need to write a c program that uses the fork and excel system calls to run the shell script mode invoked like this: "./mode 644 ls -l" (that is the argumetns will always be 644 ls -l)
here's the mode script:
#!/bin/sh
octal="$1"
shift
find . -maxdepth 1 -perm $octal -exec $@ {} \;
... (3 Replies)
Discussion started by: computethis
3 Replies
5. Shell Programming and Scripting
Hi ,
I do have a shell which test the connectivity using ssh, soon after the login it should use the keys Ctrl + z or Ctrl + c to exit from login promt. So how do i need to implement these . (3 Replies)
Discussion started by: raghunsi
3 Replies
6. Shell Programming and Scripting
Hi ,
i have a scenario where...i have to put a check where if script is executing more than 15mins i have to kill that script and n retry again 2nd time.
i this case i can use background process to do it but i feel trap will be the efficent way to do so...
but i dont know much about it... (1 Reply)
Discussion started by: crackthehit007
1 Replies
7. Shell Programming and Scripting
When command is executed by forking, the console displays the status of that command. I want to suppress it.. how to do it ?
Example:
var1=`date` &
echo "hello world";
output:
hello world
+ Done var1=`date`
I want to suppress the second line "+ Done var1=`date`".
I... (10 Replies)
Discussion started by: Arun_Linux
10 Replies
8. Shell Programming and Scripting
Hi, I'm writing a shell script where I want to call fork(). However I wrote like this "var=fork()" in c style and got this error:
"syntax error near unexpected token `(' "
How could I call fork() in shell script? Thanks in advance.
Duplicate Post - Continue Here - Please Do Not Cross Post... (0 Replies)
Discussion started by: Xiaoya
0 Replies
9. Ubuntu
Hi, I'm writing a shell script where I want to call fork(). However I wrote like this "var=fork()" in c style and got this error:
"syntax error near unexpected token `(' "
How could I call fork() in shell script? Thanks in advance. (2 Replies)
Discussion started by: Xiaoya
2 Replies
10. Shell Programming and Scripting
Hi All,
I have a shell script(test_abc.sh) with the following shell commands, which are invoking the same shell script with different parameters.
test_abc.sh
. ./test.sh abc >> test.log
. ./test.sh xyz >> test.log
. ./test.sh pys >> test.log
. ./test.sh abc >> test.log
.
.
... (4 Replies)
Discussion started by: dev.devil.1983
4 Replies
after(n) Tcl Built-In Commands after(n)
__________________________________________________________________________________________________________________________________________________
NAME
after - Execute a command after a time delay
SYNOPSIS
after ms
after ms ?script script script ...?
after cancel id
after cancel script script script ...
after idle ?script script script ...?
after info ?id?
_________________________________________________________________
DESCRIPTION
This command is used to delay execution of the program or to execute a command in background sometime in the future. It has several forms,
depending on the first argument to the command:
after ms
Ms must be an integer giving a time in milliseconds. The command sleeps for ms milliseconds and then returns. While the command is
sleeping the application does not respond to events.
after ms ?script script script ...?
In this form the command returns immediately, but it arranges for a Tcl command to be executed ms milliseconds later as an event
handler. The command will be executed exactly once, at the given time. The delayed command is formed by concatenating all the
script arguments in the same fashion as the concat command. The command will be executed at global level (outside the context of
any Tcl procedure). If an error occurs while executing the delayed command then the bgerror mechanism is used to report the error.
The after command returns an identifier that can be used to cancel the delayed command using after cancel.
after cancel id
Cancels the execution of a delayed command that was previously scheduled. Id indicates which command should be canceled; it must
have been the return value from a previous after command. If the command given by id has already been executed then the after can-
cel command has no effect.
after cancel script script ...
This command also cancels the execution of a delayed command. The script arguments are concatenated together with space separators
(just as in the concat command). If there is a pending command that matches the string, it is cancelled and will never be executed;
if no such command is currently pending then the after cancel command has no effect.
after idle script ?script script ...?
Concatenates the script arguments together with space separators (just as in the concat command), and arranges for the resulting
script to be evaluated later as an idle callback. The script will be run exactly once, the next time the event loop is entered and
there are no events to process. The command returns an identifier that can be used to cancel the delayed command using after can-
cel. If an error occurs while executing the script then the bgerror mechanism is used to report the error.
after info ?id?
This command returns information about existing event handlers. If no id argument is supplied, the command returns a list of the
identifiers for all existing event handlers created by the after command for this interpreter. If id is supplied, it specifies an
existing handler; id must have been the return value from some previous call to after and it must not have triggered yet or been
cancelled. In this case the command returns a list with two elements. The first element of the list is the script associated with
id, and the second element is either idle or timer to indicate what kind of event handler it is.
The after ms and after idle forms of the command assume that the application is event driven: the delayed commands will not be executed
unless the application enters the event loop. In applications that are not normally event-driven, such as tclsh, the event loop can be
entered with the vwait and update commands.
SEE ALSO
bgerror(n), concat(n), update(n), vwait(n)
KEYWORDS
cancel, delay, idle callback, sleep, time
Tcl 7.5 after(n)