Sponsored Content
Top Forums UNIX for Advanced & Expert Users Last touched file by a specific program ? Post 302926319 by derekludwig on Sunday 23rd of November 2014 09:35:55 AM
Old 11-23-2014
With respect to RudiC, use of a file's access time can be problematic if any other process reads the file, such as backups.

Why 3 programs? Are they three instances of the same program?

If the expense of starting a new process is not onerous, perhaps it would be easier just to use a dispatcher that launches no more than N of your programs:

(pseudo shell code!)
Code:
filescanner | while read file; do
  while [[ ${N} -le $(pgrep appropriateoptions | wc -l) ]]; sleep ${time}; done
  fileomatic ${file} &
done

Or the dispatcher could write a file to one of N named-pipes, one for each fileomatic, something like:

(more pseudo shell code)
Code:
work=$(mktemp -d)

N=0

while read fileomatic; do
  (( N = N + 1 ))
  pipe=${work}/pipe.${N}
  ready=${work}/ready.${N}

  mkfifo ${pipe}

  ${fileomatic} ${ready} < ${pipe} &
done 

filescanner | while read file; do

  while sleep ${delay}; do

    ls -1 ${work}/*.ready | read -aready

    if [[ 0 -lt ${#ready[*]} ]]; then
      i=$(( ${RANDOM} % ${#ready[*]} ))
      n=${ready[$i]}
      echo "${file}" >> ${work}/pipe.${n##*.}
      break
    fi

  done

done

The idea is that the fileomatic will touch the 'ready' file when it can process a file

Last edited by derekludwig; 11-27-2014 at 02:59 PM.. Reason: Typo in arithmantic expression, and some bad logic
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Which Base Level Filesets needed by a specific program?

hello... thats a great forum btw :) my problem is that I need a list of the Base Level Filesets (BLF) which are needed by a specific program. Is there any command/tool which shows me that? during the installation I can choose "Preview only" so that I can see what BLF´s are missing etc but... (4 Replies)
Discussion started by: cypher82
4 Replies

2. UNIX for Dummies Questions & Answers

comparing timestamp of a file with its touched version

Hi, I'm new to unix,I wanna know how can I compare timestamp of a file with its touched version.i.e I want to be sure if the touch command has worked properly i.e if the file has been touched then a msg should be printed saying success else failure.All this to be incurred in a script. Any... (2 Replies)
Discussion started by: prince258
2 Replies

3. UNIX for Advanced & Expert Users

Checking mem usage at specific times in a program

Hi all, I'm running a simulator and I'm noticing an slow increase in memory for long simulations such that the simulation has to end because of a lack of memory. A colleague of mine ran Valgrind memcheck and reported that nothing of interest was reported other than known mem leaks. My advisor... (2 Replies)
Discussion started by: pl4u
2 Replies

4. What is on Your Mind?

Finally I touched 1000.Yahooooo!!!

This, my venerable audience, is my 1000th post here. Thanks for your support and help..:b: ---Vidyadhar:) (4 Replies)
Discussion started by: vidyadhar85
4 Replies

5. UNIX for Dummies Questions & Answers

Never touched UNIX before.. Where do I start?

I will be taking a UNIX course as a part of my college Data Com concentration curriculum. Just thought it would be a good idea to get a little head start, since this class will most likely be quite difficult for someone like me. I never did any programming and I never dealt with Unix or Linux short... (3 Replies)
Discussion started by: ibex333
3 Replies

6. AIX

how to find which program that update a specific file

Hello Would you tell me how to find which program that update a specific file? I am implementing migration project. My machines OS are AIX. It is because lack of documentation, some program cannot working properly on new machine. We found the root cause of this problem is that some data... (4 Replies)
Discussion started by: cstsang
4 Replies

7. Shell Programming and Scripting

Extract specific line in an html file starting and ending with specific pattern to a text file

Hi This is my first post and I'm just a beginner. So please be nice to me. I have a couple of html files where a pattern beginning with "http://www.site.com" and ending with "/resource.dat" is present on every 241st line. How do I extract this to a new text file? I have tried sed -n 241,241p... (13 Replies)
Discussion started by: dejavo
13 Replies

8. Shell Programming and Scripting

Program to search for the files with specific format

Hi All, Your help on the below requirement is highly appreciated. I am building a program which should pick the file from a source directory and place them into target directory. While selecting the file in source it should look for some pattern in the file name. Ex: File Name 1:... (10 Replies)
Discussion started by: bharath561989
10 Replies

9. Shell Programming and Scripting

Running program and output files in specific directories

I have been running a program mseed2sac using the following command cd IV find . -type f -exec /swadmin/mseed2sac '{}' \; The problem is that I end up with a lot of files in directory IV. Instead I would like to select the designator HHZ, create a directory IV.SAC and all the files output... (11 Replies)
Discussion started by: kristinu
11 Replies

10. UNIX for Beginners Questions & Answers

Seraching for a specific program

I know that Qt exists on this IMX6+ the device has Linux 4.9.184 embedded. I need to figure out which version of Qt it has. What is the best way to find a program given only a text based terminal? Is there a way I can grep for it? (2 Replies)
Discussion started by: Circuits
2 Replies
FAXSTATE(8)                                                   System Manager's Manual                                                  FAXSTATE(8)

NAME
faxstate - control ``modem state'' of a device used by HylaFAX SYNOPSIS
/usr/sbin/faxstate [ -q queue-dir ] [ -s state ] [ -n ] modem DESCRIPTION
faxstate sends a message to the HylaFAX faxgetty(8) process servicing modem telling it to use the specified state when notifying the HylaFAX scheduler that a modem is ready and available for use. This is useful for controlling outbound use of a modem; by marking a modem's state as busy or down the HylaFAX scheduler will not assign any outbound jobs to the modem. The specified modem can either be the name (typically the last component of the terminal port the modem is attached to), or the full name of the associated FIFO named pipe file, e.g. ``FIFO.ttym2''. If the -n option, faxstate emulates what faxgetty would do; sending a message directly to the faxq process marking the specified modem down, busy, or ready. This interface is useful for send-only environments in which faxgetty processes are not used. Note that modems manipulated in this way must previously have been configured with the faxmodem(8) program. OPTIONS
The following options are supported: -n Contact faxq directly instead of faxgetty. -q dir Use a spooling area other than /var/spool/hylafax. -s Specify the state to send the faxq process each time the modem becomes ready for use; one of ``busy'', ``down'', and ``ready''. The default state to use is ready. FILES
Consult hylafax-server(5) for a complete discussion of the structure and content of the spooling area. SEE ALSO
hylafax-server(5), faxgetty(8) July 17, 1995 FAXSTATE(8)
All times are GMT -4. The time now is 08:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy