A signal is a message which can be sent to a running process. Signals can be initiated by programs, users, or administrators.
2
votes
1answer
51 views
Does this dispatcher produce zombie process?
I have such a dispatcher shell script.
while read line
do
java TestProg $line &
done < $tasklist
On the zombie process Wikipedia page, it says
if a parent fails to call wait, the ...
10
votes
1answer
5k views
How to suspend and resume processes like bash does
this question is a follow-up to: How to suspend and resume processes
I have started firefox from a bash session in gnome-terminal.
The process tree looks like this:
$ ps -e -o pid,ppid,cmd -H
1828 ...
5
votes
1answer
32 views
Ctrl-C is ignored by pppd when put in a shell script
I'm trying to connect to GPRS network through a serial port connected GSM modem.
When I call /usr/sbin/pppd call <peer_name> from the command line, it correctly receives and handles Ctrl+C from ...
10
votes
3answers
5k views
Telnet send Ctrl-C
I use telnet to connect to a terminal server, which proxies the traffic to a RS-232 port.
Unfortunately when using some of the devices it is not possible to send the CTRL+C character (0x03). Instead ...
2
votes
1answer
253 views
ctrl c vs. ctrl z with foreground job
Ctrl+Z stops the job whereas Ctrl+C kills the job.
Why is that? Wouldn't the other way make more sense?
z@z-lap:~$ sleep 100&
[1] 4458
z@z-lap:~$ sleep 200&
[2] 4459
z@z-lap:~$ jobs
[1]- ...
1
vote
1answer
23 views
How do I obtain the kill signal / message / reason within a script?
I am using the following trap:
trap OnExit EXIT
And in my OnExit function I would like to capture all the info I can on what happened so I can write it to a log file. Id like to know who, why, how, ...
9
votes
3answers
2k views
Default exit code when process is terminated?
When a process is killed with a handle-able signal like SIGINT or SIGTERM but it does not handle the signal, what will be the exit code of the process?
What about for unhandle-able signals like ...
2
votes
1answer
29 views
What signal does X send to its clients when it receives SIGINT?
If I terminate the Xorg server with a SIGINT signal (eg. when I press Ctrl+C), what signal does it send to its clients?
3
votes
1answer
28 views
SIGKILLing after a grace period
I've seen a lot of process managers that try to do this. It was my understanding that you should only use SIGTERM to kill a process. The process could take an unknown amount of time to clean up after ...
0
votes
0answers
34 views
Execute snippet of code when key is pressed [duplicate]
I want to create a process in Linux which waits for some particular keys to be pressed and executes a snippet of code and goes back to sleep. How can I achieve this?
Initially a process will be in ...
6
votes
1answer
91 views
stderr over ssh -t
This sends output to STDERR, but does not propagate Ctrl+C (i.e. Ctrl+C will kill ssh but not the remote sleep):
$ ssh localhost 'sleep 100;echo foo ">&2"'
This propagates Ctrl+C (i.e. ...
11
votes
2answers
536 views
How to terminate remotely called “tail -f” when connection is closed?
I just noticed that if I execute ssh user@remote_host tail -f /some/file , then tail -f /some/file keeps running on the remote_host even if ssh connection is closed!
So, after several connects and ...
0
votes
0answers
59 views
Archive (Compress) giant folder in Linux using command line without termination
Well, I'm just trying to compress a whole directory (infact giant!) under Linux using a terminal. The entire folder size is about 7 GB. I've used below command to create the archive.
tar -zcvf ...
2
votes
3answers
88 views
CTRL C behavior in hierarchy of shells
First of all sorry about terminology errors, I'd try to be clear.
I open a shell (like sbt or node debug from my bash). Then inside this shell, I open another one (using scala or node repl ...
3
votes
5answers
589 views
Getting pid of bash script from itself
I have a bash script with doing lot of things called script.sh:
#!/bin/bash
#It
#Is
#Doing
#Things
Is there a way that I be able to get the proccess of script and then kill it after 5 minutes?
...
0
votes
2answers
117 views
Disable the display of “terminated xxx” info of bash
For example, when I kill a background process, then bash weil display
terminated xxx, How to disable this info?
$ ping g.cn >/dev/null &
[1] 25123
$ pkill ping
[1] + 25123 terminated ping ...
2
votes
1answer
32 views
calling sigprocmask from bash
I have a process that spawn a bash command with system() while the signal mask has all the signals blocked. This cannot be fixed easily.
The bash command eventually execs into a process. The all ...
7
votes
6answers
5k views
Terminating an infinite loop
I have a command that I want to have run again automatically each time it terminates, so I ran something like this:
while [ 1 ]; do COMMAND; done;
but if I can't stop the loop with Ctrl-c as that ...
2
votes
2answers
33 views
Does time window still exist when the signal is not blocked
Many books say that a time window exists between the generation and delivery of the signal when the signal is not blocked.
So I wonder whether the time window still exists when the signal is not ...
2
votes
2answers
99 views
Bash script to signal a concurrently running instance (same script) about a condition and increment counter
Background
Here's what I want to achieve. I have a (potentially) long-running process. Now I have locking in place just fine and all is generally in order.
However, since this is a scheduled job, ...
31
votes
5answers
5k views
Timing out in a shell script
I have a shell script that's reading from standard input. In rare circumstances, there will be no one ready to provide input, and the script must time out. In case of timeout, the script must execute ...
1
vote
1answer
107 views
service killed at ssh hangup [duplicate]
If I use ssh to run some command in background, that command gets killed as soon an ssh hangs up:
ssh localhost -t "bash -c '(for i in 1 2 3 4 5; do sleep \$i;done)&'"; ps x|grep sleep
This ...
1
vote
1answer
471 views
Ctrl-C handling in SSH session
When I start an SSH session that executes a long-running command, what happens with Ctrl+C (SIGINT) handling?
I can see that the SSH session is closed, but I am not sure who gets the SIGINT first: is ...
8
votes
4answers
4k views
How can I kill and wait for background processes to finish in a shell script when I Ctrl+C it?
I'm trying to set up a shell script so that it runs background processes, and when I Ctrlc the shell script, it kills the children, then exits.
The best that I've managed to come up with is this. It ...
5
votes
2answers
222 views
Processes do not respond to my signals
I have a strange behavior on my system.
When I invoke a command in the shell (bash version 4.2.45(1)-release), say top or cat, the running program (the process) does not respond to Ctrl+C. I even ...
33
votes
6answers
4k views
Does pressing ctrl-c several times make the running program close more quickly?
I often start to read a huge file and then want to quit after a while, but there is a lag from pressing Ctrl+C to the program stops. Is there a chance of shortening the lag by pressing the Ctrl+C key ...
3
votes
4answers
1k views
Ctrl-C with two simultaneous commands in bash
I want to run two commands simultaneously in bash on a Linux machine. Therefore in my ./execute.sh bash script I put:
command 1 & command 2
echo "done"
However when I want to stop the bash ...
10
votes
5answers
3k views
How to soft kill gui applications via terminal?
Is there a way to close a GUI application in friendly "please quit yourself now" way, without graphical access to the applications window?
For example, if Gnome/X display crashes to black, I'd like ...
0
votes
2answers
120 views
What does this logrotate nginx config do?
In my /etc/logrotate.d/nginx I saw,
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
...
13
votes
2answers
17k views
How can I kill a <defunct> process whose parent is init?
Transmission is intermittently hanging on my NAS. If I send SIGTERM, it doesn't disappear from the process list and a <defunct> label appears next to it. If I send a SIGKILL, it still doesn't ...
8
votes
4answers
3k views
How to make `xargs` ignore child's exit and keep processing further
I sometimes run long xargs jobs overnight and it is really annoying to discover in the morning that xargs died somewhere in the middle, for example because of a segmentation fault in one single ...
8
votes
4answers
12k views
How to stop the loop bash script in terminal?
For example,
#!/bin/bash
while :
do
sl
done
How to terminate this bash script?
2
votes
2answers
147 views
Pipe command to tail: when is the first command aborted?
In this example:
$ for i in {1..3}; do sleep 1; echo $i; done | head -n 2
why is the first command (for loop) killed only just before the 3 is displayed ? I expected it to be killed right after ...
9
votes
2answers
2k views
Interruption of system calls when a signal is caught
From reading the man pages on the read() and write() calls it appears that these calls get interrupted by signals regardless of whether they have to block or not.
In particular, assume
a process ...
2
votes
1answer
240 views
Suppress “Alarm clock: 14” from ping
I've made a simple script for rebooting my router and afterwards showing a progress bar until my computer has an internet connection again.
When running the script I get the following output:
The ...
5
votes
1answer
74 views
Do not set $? to non-zero on Control+C
My $PS1 in Zsh includes this expression: %(?. %?.)
It means «if exit code of previous command ($?) is true, show $?, else show nothing».
This is generally useful, but one thing annoys me: shells set ...
10
votes
2answers
109 views
Cancel completion, but only completion, in zsh
When a completion function takes a long time, I can interrupt it by pressing Ctrl+C (terminal interrupt key, sends SIGINT) or Ctrl+G (bound to send-break). I am then left with the uncompleted word.
...
2
votes
1answer
692 views
child process does not inherit the pending signals from the parent after a fork system call, why?
Could anybody please tell me the reason to why pending signals are not inherited by the child process? On the other hand, the child process inherits the signal handlers and signal mask from the ...
0
votes
1answer
45 views
Does Control+C delete the files that you were downloading and installing? [closed]
If you are installing a package in the terminal and you use Control+C to stop it, does it also undo all the changes and remove the files that it downloaded?
1
vote
2answers
712 views
How to generate signal interrupt on a file descriptor in Linux?
How can I generate a signal interrupt on a file descriptor in Linux?
Motivation is to generate a interrupt in userland as we have in microcontrollers. I'll have file descriptor for I/O, and want to ...
3
votes
2answers
293 views
How are signals implemented in Linux?
When one process sends a signal to another process, does receiving process wait until it is rescheduled to run? So if every 1 ms we choose one process to run, does that mean the latency from ...
1
vote
1answer
83 views
How to list killable tasks?
As manpage of ps states A process with STATUS with the value "D" means "uninterruptible sleep (usually IO)"
Also, I've read: You should use TASK_INTERRUPTIBLE here, otherwise your kernel
thread ...
12
votes
2answers
832 views
Equivalent of “truss -T” and “truss -U” on Linux?
Is there an equivalent of what the -T and -U option of the truss Solaris utility does on Linux.
Those are to specify a system call (-T) or library function (-U) which when called by the traced ...
2
votes
2answers
973 views
difference between signalfd and sigwaitinfo?
I went through examples and man page but couldn't figure out difference between signalfd and sigwaitinfo
Apart from syntax both are doing same thing i.e. waiting for signal storing it details into ...
34
votes
2answers
1k views
How can I check what signals a process is listening to?
How can I verify whether a running process will catch a signal, or ignore it, or block it? Ideally I'd like to see a list of signals, or at least not have to actually send the signal to check.
7
votes
1answer
629 views
In which cases is SIGHUP not sent to a job when you log out?
I read an answer from a user who claimed that running
foo 2>&1 >& output.log &
would result in foo continuing to run even when they log out. According to this user, this even ...
4
votes
1answer
865 views
How do I find out what process is consuming pending signals?
A user is getting the following message when they try to run a particular program.
timer_create: Resource temporarily unavailable
From this StackOverflow Q&A titled: timer_create() : -1 ...
2
votes
2answers
333 views
Why is `kill -s INT <zsh PID>` behaving differently from `Ctrl-C`?
Starting with:
% donothing () { echo $$; sleep 1000000 }
% donothing
47139
If at this point I hit Ctrl-C at the same terminal that is controlling the shell, then the function donothing does indeed ...
4
votes
3answers
1k views
Preventing propagation of SIGINT to Parent Process
Considering a scenario where a Parent program (could be a C++ program or a Shell Script) executes a Child shell script, when we hit Control+C (or whatever character is configured to be the INTR ...
7
votes
1answer
271 views
How signals work internally?
In general, to kill processes we generate signals like SIGKILL,SIGTSTP etc.
But how is it known who ordered that particular signal, who has sent it to a particular process, and in general how do ...