Sponsored Content
Top Forums Shell Programming and Scripting [SOLVED] Problem in wait statement Post 302740059 by Corona688 on Wednesday 5th of December 2012 12:03:41 PM
Old 12-05-2012
This works here:

Code:
#!/bin/sh

function init_stdout_redirect {
    OUT_LOG=$1
    OUT_PIPE=$(mktemp -u)

    # Create the output pipe
    mkfifo $OUT_PIPE

    # Save stdout and stderr as 3 and 4
    exec 3>&1 4>&2

    # Tee the output pipe into the log file
    ( exec tee -a $OUT_LOG < $OUT_PIPE >&3 ) &

    # Save tee's pid
    TEE_PID=$!

    trap "exec 2>&-; exec 1>&-; sleep 1 ; kill ${TEE_PID} ; rm -f ${OUT_PIPE}" EXIT

    # Redirect the output to the pipe
    exec > $OUT_PIPE 2>&1
 }

init_stdout_redirect log.file

echo asdf
echo qwertyuiop>&2
exit

The data shows up on screen and in the log file.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

I/O wait Problem

When running top, I notice a bit more I/O wait time than usual. Is there a tool or piece of software out there that can me help evaluate the performance of these operations on my machine? Thanks! (5 Replies)
Discussion started by: unavb
5 Replies

2. Shell Programming and Scripting

wait problem

Hello, I have been trying to figure out why the wait isnt waiting for the sleep process to complete till now and have found out that since sleep runs as different process and not a child process the wait isnt waiting. script: cat test|while read i do echo $i sleep 30 & done wait ps... (4 Replies)
Discussion started by: wannalearn
4 Replies

3. Shell Programming and Scripting

plz, i wait your help, AWK problem

I have tracefile of three nodes (0 , 1 and 2 ) as follows: + 0.02 0 1 tcp 40 ------- 1 0.0 2.0 0 0 - 0.02 0 1 tcp 40 ------- 1 0.0 2.0 0 0 + 0.02 2 1 tcp 40 ------- 2 2.1 0.1 0 1 - 0.02 2 1 tcp 40 ------- 2 2.1 0.1 0 1 r 0.025032 0 1 tcp 40 ------- 1 0.0 2.0 0 0 + 0.025032 1 2 tcp 40 -------... (11 Replies)
Discussion started by: ASAADAOUI
11 Replies

4. Shell Programming and Scripting

[Solved] Strange Problem in case statement while shift

Hi, Here is my code as below: test.ksh: ======= #!/bin/ksh option="${1}" while do case $1 in -f) FILE="${2}" echo "File name is $FILE" ;; -d) DIR="${2}" echo "Dir name is $DIR" ;; -*) echo "`basename ${0}`:usage: | " (5 Replies)
Discussion started by: zaq1xsw2
5 Replies

5. Shell Programming and Scripting

[Solved] 0403-057 Syntax error for if statement

I am getting the following error when I am running a script in ksh when trying to execute an if statement comparing two numerical values tstmb.sh: 1.5321e+08: 0403-057 Syntax error Below is my code snippet. #!/bin/ksh set -x TODAY=$(date +%y%m%d) for file in $(ls -rt *.log | tail... (11 Replies)
Discussion started by: kiran1112
11 Replies

6. Shell Programming and Scripting

[Solved] FOR loop / IF statement returning error

The code at the bottom is a simplified example of what we have. If I use the following: && echo "echo failed" $? returns 1 When I use if ; then echo "echo failed" ; fi $? returns 0 Does anyone know what's wrong with this? Using AIX 6.1 and KSH for NUM in 1 2 3 do ... (5 Replies)
Discussion started by: jfxdavies
5 Replies

7. Shell Programming and Scripting

[Solved] While read line and if statement not working

I'm looking for some help in figuring why my little bit of code will not process any entries other then the first one in my list. while read line ;do hostname=${line//\"} a=`ssh user@$hostname uptime;echo $?` if ];then dt=`date` touch... (6 Replies)
Discussion started by: whegra
6 Replies

8. Shell Programming and Scripting

[Solved] If statement in bash

I have the following code in bash, however "set red frmt" is not displayed. echo "iarg_rd = $iarg_rd" iarg_rd="2" if ; then echo "Hello World" fi if ; then frmt="${gap}${!frmt_titl_yl}" elif ; then frmt="${gap}${!frmt_titl_bk}" elif ; then echo... (2 Replies)
Discussion started by: kristinu
2 Replies

9. Shell Programming and Scripting

[Solved] Help with shell Script ,wait for some files for some time??

Hi All, I have the requirement that ,i have to write a shell script that job has to wait for a 7 touch files created by another application for 4 hours, if i get all 7 touch files ,i have to send a mail that i jobs are completed, if if it is waiting for more than 4 hours i have to send a mail... (2 Replies)
Discussion started by: Pradeep Shetty
2 Replies

10. Windows & DOS: Issues & Discussions

Plink wait problem

Hi, I have run into a problem to which i can't seem to find any solution, posting here is my last resort. Problem: I am using plink to access my router and run a few configuration commands. When in enter configurations mode, instead of sending next command plink keeps on waiting for manual... (7 Replies)
Discussion started by: zaainabbas
7 Replies
AUTOLOG(8)						      System Manager's Manual							AUTOLOG(8)

NAME
autolog - Log out idle users SYNOPSIS
autolog [ options ] DESCRIPTION
The program reads the utmp file, entry by entry. The username for each 'user process' is compared to the entries in the configuration file (see autolog.conf(5) ). The first entry to match both the name, the group, and the tty line of the process will be used to conduct the automatic logout. CALL
/etc/init.d/autolog start or autolog to run this program in daemon-mode autolog -o to run this program as "ordinary" program. Keep in mind: Also when running as ordinary program, it will stay in memory until all its jobs are done. OPTIONS
-a (all processes) Print information on ALL utmp entries--not just user processes. -d (debug mode) This is helpful in setting up your configuration file. The program runs in foreground rather than forking and it prints out verbose messages about what it is doing. -n (nokill) Use this to prevent autolog from actually "killing" anyone. Use -d and -n together when setting up a new configuration file. ( This will not affect killing of lost processes. ) -o (ordinary) Use this to run this program as ordinary program, not as daemon. Program will end, when its job is done. In this case, some data is kept in "/var/lib/autolog/autolog.data". This is read, when the program is called again. -f config_file_name Use this to override the default: "/etc/autolog.conf" -l log_file_name Use this to override the default: "/var/log/autolog.log". Note that if this file doesn't exist, no logging will happen. Create the file (with touch) to enable logging. -t idle_time Use this to override the internal default idle time (minutes) -g grace_period Use this to override the internal default grace period (seconds) -m yes/no Use this to override the internal mailing switch. If "yes" the program will send mail to the users right after killing them. -c yes/no Use this to override the internal "pre-clear" switch. If "yes" the program will clear the terminal screen before warning the user. -w yes/no Do timeouts based on total session time--not idle time. (hard) -l yes/no If set to "yes" activities will be written to the logfile if present. AUTHOR
Kyle Bateman <kyle@actarg.com> (autolog 0.35), Carsten Juerges <juerges@cip-bau.uni-hannover.de> (autolog 0.40) This manual page was modified for Debian by Paul Telford <pxt@debian.org> Linux Administrative Utilities AUTOLOG(8)
All times are GMT -4. The time now is 06:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy