name:

    EVERY



files:

    EVERYDOS.EXE ............... EVERY for DOS
    EVERYWIN.EXE ............... EVERY for WIN32
    TEST.EXE ................... dummy program to test EVERY 



description:

    i wrote this program for the purpose of running another
    program, which may terminate unexpectedly.  if the other
    program dies, EVERY will wait for a specified period of
    time and then restart the other program.



usage:

    EVERYxxx.EXE timeout prog.exe [arg1] [arg2] [arg...]

    "timeout" describes the number of seconds to wait before
    attempting to restart "prog.exe".  the initial execution
    occurs without this delay.

    "prog.exe" tells EVERY what program it will try to execute.

    "arg1", "arg2", "arg..." hold the command-line arguments
    to pass to "prog.exe", in order.



examples:

    to get a good idea of what EVERY does, try running:

        EVERYDOS.EXE 5 test.exe first middle last 

    then watch for about 20 seconds.  press a key to stop it.

    i specifically wrote EVERY to restart the windows NT command
    line version of seti@home, which dies if it can't connect
    to the server.  for this purpose, i use EVERY as follows (note
    that i renamed "setiathome-1_3_i386-winnt-cmdline.exe" to
    "setiathome.exe"):

        EVERYWIN.EXE 600 setiathome.exe -proxy localhost:8080

    this runs "setiathome.exe -proxy localhost:8080", and when
    it dies, waits 10 minutes (600 seconds) and then restarts it.



notes:

    EVERY can be exited while delaying by pressing any key.

    if EVERY exits from a keystroke, it will return 1.  it
    should not exit for any other reason, so a different
    return value indicates something went really wrong.

    TEST.EXE accepts a parameter list and prints, separated
    by commas, the number of arguments passed then each
    parameter in quotes, then a null.

    although EVERYDOS.EXE will work on a windows system, it
    works much less gracefully and may die unexpectedly.  if
    you use windows, use EVERYWIN.EXE.



disclaimer:
    
    use this at your own risk.

    i offer no guarantees that it will work correctly, or
    work at all, or indeed that it won't destroy your
    computer beyond repair (it doesn't, but if it somehow
    does, too bad, not my problem).

    if you find a way to use this program to commit any sort
    of illegal activity, you do so entirely of your own
    responsibility.

    you agree, by using this program, that i, the author, have
    absolutely no responsibility for anything related to this
    program, and if you should somehow use EVERY in a way that
    causes me legal difficulties, you will pay all legal fees
    incurred by myself.
