Sponsored Content
Operating Systems AIX Read input data within a specified period of time Post 302480961 by R0H0N on Thursday 16th of December 2010 08:55:30 AM
Old 12-16-2010
Hi Raj Sharma,
Sorry for the late replying. I have made some changes in both the codes. Please try this and revert if not done.


Shell script “delay.sh”
Code:
 > timeoutFile                     # Creating one 0 byte file
  echo "Enter input:\c"
  charReading.pl 10 &
  pid=$!
  sleep 10
  if [ -s "timeoutFile" ] ; then     # This means something has been entered in between 10 seconds of sleep which was recorded in this file. So, if this file is not empty after 10 seconds then no timeout.
      input=`cat /tmp/optFile`

    echo "Using input value = [${input}]"
  else
      kill -9 $pid
      echo "Using default value"    
  fi

Perl code “charReading.pl”
Code:
 #! /usr/bin/perl -w
  #
  # Usage:
  #     charReading.pl <Number of Chars to read>
  #     charReading.pl 10        # In your case
  #
   
  my $maxChars = $ARGV[0];
   
  use strict;
  use FileHandle;
  my $FOBJ = new FileHandle ">/tmp/optFile";
   
  $| = 1;
  my $finalString = "";
   
  while ($maxChars != 0) {
      my $khatm = 0;
      for (1..$maxChars) {
          my $cChar;
          $cChar = getOneChar();
          system("echo kaipan > timeoutFile");    # Echoing kaipan in timeoutFile if user has entered any character
          if ($cChar ne "\n") {
          if ($cChar eq "\b") {
              chop($finalString);
              print "$cChar \b";
              $khatm += 2;
          } else {
              $finalString .= $cChar;
              print "$cChar";
          }
          } else {
              $khatm += 1;
          }
      }
      $maxChars = $khatm;
  }
   
  print $FOBJ "$finalString";
  exit; 
   
  BEGIN {
      use POSIX qw(:termios_h);  
      my ($term, $oterm, $echo, $noecho, $fd_stdin);
      $fd_stdin = fileno(STDIN);
      $term = POSIX::Termios->new();
      $term->getattr($fd_stdin); 
      $oterm = $term->getlflag();
      $echo = ECHO | ECHOK | ICANON;
      $noecho = $oterm & ~$echo; 
   
      sub cbreak {
          $term->setlflag($noecho);
          $term->setcc(VTIME, 1);
          $term->setattr($fd_stdin, TCSANOW); 
      }  
     
      sub cooked {
          $term->setlflag($oterm);
          $term->setcc(VTIME, 0);
          $term->setattr($fd_stdin, TCSANOW);  
      }    
      sub getOneChar { 
          my $key = '';
          cbreak();  
          sysread(STDIN, $key, 1); 
                                  cooked(); 
          return $key;  
      }  
  }
  END {
      cooked()
  }

R0H0N
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Run job for a period of time

I have a job that runs for an unspecified amount of time. I want to run this as a cron job for a specified amount of time, say 2 hours. Once the time is up, the program should be killed in the middle of execution. How can I do this? Thanks. (5 Replies)
Discussion started by: cooldude
5 Replies

2. Shell Programming and Scripting

read/writte/input data in file.

Hi, how can i do to show when i do with scrip list entris, or list specific entry, it show 2 lines when i specify the entry to search...¿? i paste the script: # Global variables film=/opt/etc/film/film.txt export film confirm() { echo -en "$@" read ans ans=`echo $ans | tr... (0 Replies)
Discussion started by: dorek
0 Replies

3. Shell Programming and Scripting

Calculate Time Period in Scripting

Hi all, now i am writting one bash script. in that my requirement is i need to create one directory and that the directory details to be stored in one file Ex. date/time and all in one file. after that i need to delete the folder automatically exactly after 3months. between these time... (5 Replies)
Discussion started by: anishkumarv
5 Replies

4. UNIX for Dummies Questions & Answers

Start Time and period of a PID

Hi, Below is my OS details. uname -an SunOS mymachine 5.10 Generic_144488-07 sun4v sparc SUNW,SPARC-Enterprise-T5220 I need to know when was my Apache server last started. Whats is the best and most reliable way to find out not just for Apache but for any PID per say? I am... (16 Replies)
Discussion started by: mohtashims
16 Replies

5. Shell Programming and Scripting

Help with Bash piped while-read and a read user input at the same time

Hi I am new to writing script and want to use a Bash Piped while-read and read from user input. if something happens on server.log then do while loop or if something happend on user input then do while loop. Pseudocode something like: tail -n 3 -f server.log | while read serverline || read... (8 Replies)
Discussion started by: MyMorris
8 Replies

6. HP-UX

memory consumption over a time period

Hi, Can some one please tell me how do I generate a report of the Memory Consumption over a time period: HP-UX B.11.31 U ia64 0440531406 unlimited-user license I normally use glance to monitor memory in run time. Note: I do not have root privileges. Thanks Danish ... (5 Replies)
Discussion started by: danish0909
5 Replies

7. Shell Programming and Scripting

Read user input, Encrypt the data and write to file

Hi, can some one help me how to encrypt and decrypt a file. AIM: reade user input, encrypt it and save it to file. while decryption read the encrypted file decrypt it and save the output in some variable. Example: consider we have Credentials.txt file with content username: password... (5 Replies)
Discussion started by: saichand1985
5 Replies

8. Shell Programming and Scripting

Get connection count over a period of time

I used this script to get the connection to a domain in two specific minutes. I need to extend to give result over a range of minutes. The below gives total number of connections in the minutes 00:40 and 01:13 on 22nd March. egrep "22/Mar/2013:00:40|22/Mar/2013:01:13"... (1 Reply)
Discussion started by: anil510
1 Replies

9. Shell Programming and Scripting

To get the Files between Time Period

All, How to get the list of files through a unix command which exists / created / updated between 8 PM to 11:59 PM from a particular location. Regards Oracle User (3 Replies)
Discussion started by: Oracle_User
3 Replies

10. Shell Programming and Scripting

How to get the shell script to read the .txt file as an input/data?

i have written my shell script in notepad however i am struggling to pass the data file to be read to the script the data file is of .txt format. My target is to run the shell script from the terminal and pass 3 arguments e.g. polg@DESKTOP-BVPDC5C:~/CS1420/coursework$ bash valsplit.sh input.txt... (11 Replies)
Discussion started by: Gurdza32
11 Replies
term::ansi::ctrl::unix(n)					 Terminal control					 term::ansi::ctrl::unix(n)

__________________________________________________________________________________________________________________________________________________

NAME
term::ansi::ctrl::unix - Control operations and queries SYNOPSIS
package require Tcl 8.4 package require term::ansi::ctrl::unix ?0.1? ::term::ansi::ctrl::unix::import ?ns? ?arg...? ::term::ansi::ctrl::unix::raw ::term::ansi::ctrl::unix::raw ::term::ansi::ctrl::unix::columns ::term::ansi::ctrl::unix::rows _________________________________________________________________ DESCRIPTION
WARNING: This package is unix-specific and depends on the availability of two unix system commands for terminal control, i.e. stty and tput, both of which have to be found in the $PATH. If any of these two commands is missing the loading of the package will fail. The package provides commands to switch the standard input of the current process between raw and cooked input modes, and to query the size of terminals, i.e. the available number of columns and lines. API
INTROSPECTION ::term::ansi::ctrl::unix::import ?ns? ?arg...? This command imports some or all attribute commands into the namespace ns. This is by default the namespace ctrl. Note that this is relative namespace name, placing the imported command into a child of the current namespace. By default all commands are imported, this can howver be restricted by listing the names of the wanted commands after the namespace argument. OPERATIONS ::term::ansi::ctrl::unix::raw This command switches the standard input of the current process to raw input mode. This means that from then on all characters typed by the user are immediately reported to the application instead of waiting in the OS buffer until the Enter/Return key is received. ::term::ansi::ctrl::unix::raw This command switches the standard input of the current process to cooked input mode. This means that from then on all characters typed by the user are kept in OS buffers for editing until the Enter/Return key is received. ::term::ansi::ctrl::unix::columns This command queries the terminal connected to the standard input for the number of columns available for display. ::term::ansi::ctrl::unix::rows This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category term of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. KEYWORDS
ansi, columns, control, cooked, input mode, lines, raw, rows, terminal COPYRIGHT
Copyright (c) 2006 Andreas Kupries <andreas_kupries@users.sourceforge.net> term 0.1 term::ansi::ctrl::unix(n)
All times are GMT -4. The time now is 08:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy