Programming :: Use CTRL+D Signal In Bash Script?
Jan 15, 2010
I am writing a bash script where I need standard Input should be saved in a file and should be terminated by passing CTRL+D signal. Any clue how can I do that in bash script.
e.g.
Enter one line at a time
Press CTRL+D to finish
View 1 Replies
ADVERTISEMENT
Jan 24, 2010
simple bash code:
Code:
#!/bin/bash
trap "echo 'you got me'" SIGINT SIGTERM # to trap ctrl+c
echo "Press ctrl+c during 5 sec loop"
for ((i=0;i<5;i++)); do
[Code]...
How come code behaves normally and stops when ctrl+c signal is caught and resumes, but after I use at least one timeout read in the code it looks like, if signal is caught again it doesn't pause the execution but skips the loop. If you remove -t (timeout) option from the read, both loops look the same!
View 10 Replies
View Related
Oct 22, 2010
I'm doing the shell history audit logging using syslog to gather the command history. I'm using this well publicized method using trap and logger:
declare -r REAL_LOGNAME=`/usr/bin/who am i | cut -d" " -f1`
function log2syslog {
declare command
command=`fc -ln -0`
logger -p local1.notice -t bash -i ": $REAL_LOGNAME as $LOGNAME :$command"
}
trap log2syslog DEBUG TERM
The problem is that the trap on DEBUG will catch the next to last command executed (by virtue of the "fc" command) which is not the current command executed. TERM will catch that "next to last" command on exit, thus completing the logging of each command executed during that session.
However, CTL+D doesn't seem to emit a SIGTERM signal. What signal is actually being emitted and can it be trapped? I guess another question would be whether there is a way to trap history after command line execution? Moving to Bash 4.1 isn't possible in our "supported" multi-platform environment
View 5 Replies
View Related
Jan 28, 2010
I am working on a script and I want it to detect if CTRL+C is pressed at any time during the script and have it not Break the script and display a message stating to use CTRL+Z instead. How can I do that?
View 9 Replies
View Related
Aug 19, 2009
i am using gcc 4.3i need to recognize ctrl+c,ctrl+l,ctrl+d in my C program without terminating the program when i get a ctrl+c...
View 1 Replies
View Related
Dec 5, 2010
I'm trying to write a init.d script to daemonise a sagemath notebook server. Here's what I've done so far, I've copied /etc/init.d/single for the structure, and tried to use dtach to provide a handle to access the process. However, my main problem is issuing the signals to kill the process (Ctrl-C) from a bash script and exit dtach (Ctrl-`)
[Code]...
View 1 Replies
View Related
Jul 5, 2010
I*am using Kubuntu 10.04. I would like to change some of the standard shortcut keys for bash (terminal).
I want:
Ctrl-C to copy the selected text to the clipboard.
Ctrl-V to paste from the clipboard into the terminal.
Ctrl-Z to undo.
Ctrl-Shift-C (or even better, Super-C) to terminate the command.
Ctrl-Shift-Z (or Super-Z) to be the background command.
I*don't even know what Ctrl-V did before, some I*won't worry about remapping it.
EDIT:*I*have no idea what is putting the * char after each "I". Maybe this is a non-breaking space?
View 14 Replies
View Related
Jan 18, 2010
I've tried without luck to get ctrl-backspace working to delete the previous word in bash. I edited my .inputrc and tried the following:
"C-": unix-word-rubout
Control-Rubout: unix-word-rubout
I can make it work if I change it to some other sequence (Control-j: unix-word-rubout makes ^j erase the word), but I can't make it work with backspace.
View 6 Replies
View Related
Jan 5, 2010
I have 3 layouts: USA, Russian and Hebrew. In Hebrew the W key is mapped to apostrophe, so Ctrl+W in Hebrew layout doesn't close tabs in Firefox. There is no workaround for it as I see by now, so I am trying to get it work this way:I want to map Ctrl+W in Hebrew layout(which is actually a Ctrl+') to be a Ctrl+w. Here is what I got from xmodmap:Code:$ xmodmap -pke | grep 25keycode 25 = w W Cyrillic_tse Cyrillic_TSE apostrophe WAs you can see, there are pairs for each layout, each pair tells what happens without and with the Shift key pressed.
View 2 Replies
View Related
Dec 27, 2010
I am doing a project on rdesktop. My aim is to setup a write/copy protected session. I have made rdesktop connection between two Linux machines using Xrdp.Next I want to disable the ctrl+x,ctrl+v keys and the cut and copy option in mouse right click at client side
View 1 Replies
View Related
Feb 9, 2011
I want that I click with the mouse on the video, it paused.I notice that there is "BaconVideoWidget" which I guess is the video rendering widget but it don't have signal named "clicked":
Code:
vd = totem_object.get_video_widget()
vd.connect("clicked", vd.hide)
[code]....
View 3 Replies
View Related
Mar 12, 2011
I have created a pthread, and installed a signal handler inside that, same way as we do in main( ) function. The thread's signal handler is a separate function. Surprisingly, it is not working, that is the thread's signal handler is not able to catch signals. Here is the code:
Code: #include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <signal.h>
typedef struct data
[Code]...
View 1 Replies
View Related
Mar 27, 2011
I have a Socket library, written in C++, in which the method used to send data never has the opportunity to handle an errno of SIGPIPE. Thus I thought perhaps I should setup a signal handler to receive the signal, but this too is not being called.Is there something that I am missing or doing that is completely wrong? Below is the relevant code. Note that a SIGPIPE signal is generated when the Server is unable to send data to the Client (e.g. the client has terminated).Server code:
Code:
#include <TCPServerSocket.hpp>
#include <string>
[code]...
View 1 Replies
View Related
Apr 25, 2011
How to map special keys in vim, e.g. ctrl+< , ctrl+> , shift+< . I want to resize the windows in vim, ctrl+w+< is complex, I want map it to double press ctrl+< , how can I achieve it ?
View 2 Replies
View Related
Nov 28, 2010
" Mark the start of the text with "v", "V" or CTRL-V. The character under the cursor will be used as the start.""With CTRL-V (blockwise Visual mode) the highlighted text will be a rectanglebetween start position and the cursor."I can mark the start with "v" or "V".But it doesn't work when I push ctrl+V.
View 14 Replies
View Related
Sep 5, 2010
I can not copy/paste ctrl+C or ctrl+p from one folder to another with the mouse. i was trying to move an item to another folder.
I looked in the keyboard short cut and it was not there. i tried to add it and it put it in custom as disabled and I could not enable it.
View 2 Replies
View Related
Oct 3, 2010
anyone has a clue why 'ctrl+a, k' nor 'ctrl+a, :kill' doesn't work for killing one of screen windows? Other screen's commands invoked with 'ctrl+a'seem to work.
View 3 Replies
View Related
Nov 1, 2010
Is it possible to connect a signal handler to a variable?So when the variable changes the signal handler is called.I have a vector containing strings which i want to parse when there are one or more available strings in the vector
View 3 Replies
View Related
Apr 27, 2011
I have a signal handler in my tool, which is registered and used between some particular interval (i am using timer). Now this signal handler should NOT allow any other handler to be registered or invoked after this handler is once registered. Is there any way to accomplish this?
[code]...
View 6 Replies
View Related
Apr 25, 2011
But unable to catch the SIGTERM signal if I do shutdown, as man pages says shutdown genrates the SIGTERM and SIGKILL signals, but we cant handle the SIGKILL signal. My code is working fine if I genrate the SIGTERM signal by Kill command, and also for SIGINT signgal genrated from the CTRL+c key.
Here is my code:
/* Example of using sigaction() to setup a signal handler with 3 arguments
* including siginfo_t.
*/
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
[Code]...
View 5 Replies
View Related
Mar 4, 2010
I was trying to program using fork(). The objective of this code is to
1. I am activating a process A - SubSuctionMotors.
2. Process A is going to stop with either of this condition
a) Switch is activated - swret=1
b) Time allowed has expired
3. Stop the process A.
[Code]...
1. We purposely force the switch to be inactive to test the child process (timer), whether after 2 seconds the motor stop. It turns out to be successful in first few attempts. After some while, the program hang, nothing is executed anymore and the program is not exit or terminated. What can cause the program to hang?
2. We tried to stop motor by switch activation (if the switch is to be successfully activated, the time it takes will always be shorter than the timer allowed time). However, the program did not seems like noticing the switch has been activated, and it just stop the motor according to timer. Why it behave this way?
View 4 Replies
View Related
Jun 16, 2010
#!/bin/sh
trap "echo Haha" SIGUSER1
echo "asit"
count=1
while [ $count -le 10 ]
do
echo "Loop #$count"
sleep 10
count=$[ $count + 1 ]
done
echo "This is the end"
Why this is showing following error?
trap: 3: SIGUSER1: bad trap
View 4 Replies
View Related
May 21, 2010
I'm just beginning to program with GTK+, and I'm facing this issue: I want to inhibit a signal emission inside one and only one function. I've down cut my code into the smallest example I can to show you what I want to do:The "Emitter" contains a "GtkSpinBox" and it relays the "value-changed" signal, it's header:
Code:
#ifndef EMITTER_H
#define EMITTER_H
[code]....
View 1 Replies
View Related
Nov 11, 2010
I just installed Ubuntu 10.10 x64 and already am really annoyed by Firefox, which freezes my mouse after changing a tab (with ctrl+tab, alt+#) or closing it (ctrl+w). After about one second, i can continue working as usual. Changing Tabs by just clicking on one does not freeze anything...Maybe some of you would think now if I am crazy because of complaining about such a little thing, but it is really annoying if you are used to work fluently with ff.Edit:I today noticed, that not only shortcuts in firefox, but all Hotkeys freeze my mouse for a second. For examle ctrl+c, ctrl+v, super+e or anything else.Do you have any Idea what causes this behaviour? Reinstalling ubuntu didn't change anything
View 4 Replies
View Related
Feb 4, 2011
I would like to know how do I print the line # in a script. My requirement is, I have a script which is about ~5000 lines long. If there are any errors happen I just exit. And I would like to add the line # of the script where the error happened.
View 3 Replies
View Related
Jan 14, 2015
Basically I'm intending to write serial RX signal handler.Application receives defined packages of data over serial which contains header and payload. Handler should analyse incoming stream and upon detection of header (header is 6B in length) switches to receive payload of length defined in header, then after receiving full message packs it and sends to application for handling.Problem I'm facing is that at random moments in signal I receive errors that "Resource temporarily unavailable" while reading from ttyOx device and I see that sometimes I miss incoming data.Also is it possible that if while I'm handling signal one more signal arrives and it is started to be handled parallel? If it is, what are the ways to prevent it? So I would be sure that no more signals will fire on same peripheral until I will finish handling what I have on my hands now.
Serial open and init:
Code: Select allint open_port(int port_nr) {
int fd; /* File descriptor for the port */
switch (port_nr) {
case 1:
fd = open("/dev/ttyO1", O_RDWR | O_NOCTTY | O_NDELAY);
break;
[code]....
View 5 Replies
View Related
Jul 4, 2011
I'm learning Signals, and I have a question:
Is possible to make a handle when I press any of the keyboard buttons?
The SIGINT handles the Ctrl-C combination, but I want to handle if any keyboard button was pressed.
View 3 Replies
View Related
Feb 15, 2010
locking mutex (phtread_t type) in a signal handler function (installed by function signal()) for Linux. It seems that if the mutex has been previously locked by another thread outside the signal handler function and then the signal handler function tries to lock it, the whole process hangs.
View 5 Replies
View Related
Jan 20, 2010
I'm new to Unix and every signal handler algorithm I've seen is more or less a copy of what I'm trying to do.[URL] designing a signal handler with sigwait in UNIX?
View 1 Replies
View Related
Mar 16, 2011
I have a problem with the last point of some homework I have for an OS class. I need the program to print the pid upon execution, then for 10 seconds react to SIGUSR1, SIGUSR2 and SIGTERM. If either USR1 or USR2 is received, the 10 seconds are reset. Some of the functions I'm told to use are alarm(), pause() and signal(). The nicest way I found was to handle SIGUSR1, SIGUSR2 and SIGALRM in the parent process, with SIGALRM killing the child (with a SIGTERM). In the child a pause() (or for(; pause() would be enough for it to be alive until killed from the SIGALRM handler in the parent.
What I found is that I can't just do a wait() in the parent process, waiting for the child to be killed, since whenever the parent receives a SIGUSR1 or SIGUSR2, the right handler is called but the child exits nicely. I tried blocking/ignoring those signals in the child, since the default behaviour for SIGUSR1 and SIGUSR2 is to terminate the process, but the result is the same. The only way I could do it is using a waitpid() within a do { } while(!WIFSIGNALED(status)) since when the child gets killed with the parent's kill(), it's WIFSIGNALED, whereas when it exits after the parent handles a SIGUSR1/2, it's WIFEXITED.
P.S. What I'm doing to achieve the expected 10s window is calling alarm(10) in the parent process and again within the SIGUSR1/2 handlers. In the SIGALRM handler I kill the child and within the child I simply do a for(; pause()
View 4 Replies
View Related