Problem: A process (exe) is getting executed in background. The output of this process is getting logged in a file. After successfully running for some time the process gets terminated. In the log file following is present:
^M[7m Interrupt ^M[27m
Please note that this does not happen all the time and can be taken as once in a blue moon scenario.
if 7 and 27 are signals then 7 is for abort and 27 is for sigttin (used kill -l).
It would be good if some pointers can be given around the same. Need to know how these signals are getting generated and why they do not appear all the time. Any reference material would also help. Thank you
NAME
console_codes - Linux console escape and control sequences
. . .
ECMA-48 Set Graphics Rendition
The ECMA-48 SGR sequence ESC [ parameters m sets display attributes.
param result
. . .
7 set reverse video
. . .
27 reverse video off
The requestor's log file entry has nothing to do with signals; it's just setting "display" to reverse video, outputs "interrupt", and resets to normal video (given that ^M stands for "Escape", which, I admit, may be a wild assumption).
Interrupt is interesting here. SIGINT will generate that response as it is the name most systems "give" to that signal number (note: actual number may vary)
from the cygwin install on this PC.
This is different from a driver interrupt - where a thread's current registers are pushed onto an interrupt stack. This appears to be a signal. And signals do cause asynchronous interrupts and process termination if they are not handled as part of the process signal mask.
IMO: The problem is the code being executed. The point is something appears to be generating a SIGINT that goes unhandled in the process.
Since you state nothing about what is running....
Add a diagnostic signal handler to the code java, C, perl, etc., ( or a trap statement in shell) to tell when/where it happens. Also note - a process can call raise() in code or kill in shell to send a signal to itself, which is another avenue to explore.
I know how to add signal to a set. But what if I want to add 2 or 3 signals to the set.
I know I can use sigaddset (&set,SIGBUS)....but what if I want to add SIGBUS and SIGALRM at once. Do i have to do it like this..
sigaddset (&set,SIGBUS);
sigaddset (&set,SIGALRM);
Is there another way to... (0 Replies)
I have following problem with this code..
First time trough the main loop.....
perror gives ....blocked signal:success(all other times gives illlegal seek)
Should every time trought the main loop be success??
And the perror otside of main loop...didn't change mask:success
That line of code... (2 Replies)
I am having trouble with folowing
sigset_t s; // now s represents set of signals
sigemptyset(&s) ; // initialize this set and exclude all the signals from it.is it empty?
sigaddset(&s,SIGILL);//this set containts only SIGILL signal
sigprocmask(SIG_BLOCK,&s,NULL);//lost on this one
Can... (3 Replies)
Hi,
In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point.
I am working on Mac X and using XCode.
Thanks (1 Reply)
Hi,
In our program, we are using SIGTERM and i tired to put break point in this function. But my debuger is unable to brake at that point.
I am working on Mac X and using XCode.
Thanks (0 Replies)
can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (2 Replies)
can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (0 Replies)
How can use signals in a C program If i want a child program to signal it's parent program that it(child) program has completed the task that it was assigned.:confused: (2 Replies)
(posted this in the scripting forum as well, but figured it should go here) So, what's going on is this:
For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground process running, let's... (0 Replies)