03-06-2018
Overview:
I'm not going to figure out all of the above wall of code. This example is how MS windows and X work. A simple, fairly stupid, event (message) pump that does nothing but read stdin, then send it off to a pipe. The little one I call "tiny" your code wall is "big" and it needs to dup() stdin on startup.
What you will do is to steal a tiny bit of windowing architecture - as in a message pump:
interpose a tiny program that loops and reads each character from stdin and then sends everything it gets from stdin to a pipe -except the <return> key. It exits or whatever you need on the return key.
Start the tiny program, have it fork your large program as a child that reads input from a pipe. Big's code can live in the same physical code that tiny lives in. Call fork() on the "big" entry point.
Tiny reads everything and simply passes it on, except in your case tiny exits when the ASCII 13 character (\n) is read. Tiny has almost zero smarts, just calls signal(), read(), wait() and pipe().
If tiny wants to quit: signal big, call wait() on big, then exit().
If big wants to quit: signal tiny, then exit() Tiny's signal handler gets the signal and exits.
If you really get stuck, post your attempt. If executable code lines in the tiny program code exceeds circa 50 lines or so your logic is probably too complex. Add bells and whistles after it works.
This User Gave Thanks to jim mcnamara For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Setup Info:
This User Id and Password mention below are being used with the ISQL command to connect to a sybase database so they are likely to not be the same as those that were signed on from the session.
Situation:
Using a korn shell, the shell prompts for a User Id and Password. During the... (1 Reply)
Discussion started by: anthreedhr
1 Replies
2. Programming
Hi,
I need a way to detect the up and down arrow key inputs for my program. I do not want to wait for the return key to be entered(so that rules out getch() and family). Also I need to process several of these inputs in parallel, by servicing each request with a thread.
Is that possible?
... (4 Replies)
Discussion started by: ravneetd
4 Replies
3. Programming
Does anyone know how do you determine the user idle time of STDIN in order to log the user out for being idle too long. I would like to write a c program to do this but I it is not clear upon how to determine idle time from keyboard input. I have found that the "who.c" source file uses the last... (4 Replies)
Discussion started by: cpaquette
4 Replies
4. UNIX for Dummies Questions & Answers
i have this basic line of code that doesn't work. i simply want to get the input parameter strings but when the script is run it appears that the first parameter is assigning the value to the second parameter.
#!/bin/sh
pdir=`pwd`
p1=$1
p2=$2
echo "directory: $pdir\n"
echo "parameter... (2 Replies)
Discussion started by: wtolentino
2 Replies
5. Shell Programming and Scripting
How would I change up a script that currently has something like:
bash script
echo what's 1 2 3 4?
then using read 1 2 3 4
I type 1 2 3 4.
so in the script i can do stuff like
echo $1 $2 $3 $4
and such...
i was just doing echo "1 2 3 4"|bash script
But was wondering how could I... (5 Replies)
Discussion started by: biopulse
5 Replies
6. Shell Programming and Scripting
Hi
Is there a way that I can capture a shell script (both output and input) to a log file where I can analyze it?
Thanks (6 Replies)
Discussion started by: nimo
6 Replies
7. Shell Programming and Scripting
> sed ''
Hello
hi
Hello output
How
hi output
^D
How
>
sed should take each line as input, process and output the result. In the above scenario the input is passed from keyboard and the output of 'Hello' as you can see is displayed on the screen after 'hi' is passed as input but not as... (1 Reply)
Discussion started by: loggedin.ksh
1 Replies
8. Shell Programming and Scripting
Hello,
I need to capture multiple values from user input and do not know how to do it. I'm writing a script to delete old files, but want to give the option to keep some by asking the user.
This is what my output looks like...
Old files to be deleted...
1 file1
2 file2
Then this bit of... (3 Replies)
Discussion started by: jrymer
3 Replies
9. Shell Programming and Scripting
Hello,
i`m trying to create an network monitoring script and i dont know how to make affect that script by pressing an key from keyboard and that script runs not in while or for or any other loop, but with bash command watch
for example: i have created an file (for example check) with content... (0 Replies)
Discussion started by: bacarrdy
0 Replies
10. Shell Programming and Scripting
Hi,
I am working on a script, which requests users to enter input.
Ex: read -p "Please enter your email id:" email
I don't want users skipping this entry, this has to be mandatory.I dont want to proceed without input.
I can do a check if variable $email is empty and proceed if not.But, i... (7 Replies)
Discussion started by: aravindadla
7 Replies
exp10(3M) exp10(3M)
NAME
exp10(), exp10f(), exp10l(), exp10w(), exp10q() - base-10 exponential functions
SYNOPSIS
HP Integrity Server Only
DESCRIPTION
Integrity Server Only
returns
is a version of it takes a argument and returns a result.
is a version of it takes a argument and returns a result.
is an version of it takes an argument and returns an result.
is equivalent to on HP-UX systems.
USAGE
To use these functions compile either with the default option or with the and options.
To use or compile also with the option.
To use any of these functions, make sure your program includes and link in the math library by specifying on the compiler or linker command
line.
For more information, see the at the following site:
RETURN VALUE
returns 1.
If x is +INFINITY, returns +INFINITY.
If x is -INFINITY, returns zero.
If x is NaN, returns NaN.
returns infinity in lieu of a value whose magnitude is too large, and raises the overflow and inexact exceptions.
raises the underflow and inexact exceptions whenever a result is tiny (essentially denormal or zero) and thereby suffers loss of accuracy,
and may raise those exceptions if the result is merely tiny.
raises the inexact exception whenever a rounded result does not equal the mathematical result.
ERRORS
No errors are defined.
SEE ALSO
cbrt(3M), exp(3M), exp2(3M), expm1(3M), log10(3M), pow(3M), sqrt(3M), math(5).
STANDARDS CONFORMANCE
These functions are not specified by any standard.
exp10(3M)