Friday, January 25, 2008

Unlocking Terminals on Unix/uniVerse Systems

Unlocking Terminals on Unix/uniVerse Systems

To unhang a terminal never issue a unix kill. Instead use the following commands which must be done in UV (as super user). This document assumes you have already tried CTRL-Q unsuccessfully from the hung terminal. This works very often as a first resort for networked terminals and 'PC's where there are unknown causes for hanging and you know your network isn't down. If you haven't tried CTRL-Q, do so now. You may be done. For other instances, continue.

Also, if the terminal or PC has been power-cycled (turned off and on), the following exercise may be futile and damage to data files may have already occurred (turning off a networked terminal or PC terminates a telnet session which then kills all UV processes). It is essential that power never be turned off unless the terminal is at a login prompt. This destroys the data-trail left when a terminal hangs. It is also imperative that pdisable and penable on the IBM RS/6000 not be used. This is tatamount to a kill and is meant only to be used when disabling a terminal line during maintenance (pdisable only works until the next reboot). If the client machine is an HP on unix 9.04, os patch PHNE_5603 (which superseded PHNE_4753) for the telnetd executable will be needed.

I am going to use a ficticious user's terminal (port 32, tty unknown) as our hung terminal and will refer to the example output from PORT-STATUS and LIST-READU EVERY which are included at the end of this document.

  1. Go to the UV sysadm menu and remove unused printer memory segments (the command line for performing this step is: uvlictool clean_lic -a). If you are not at the system administration menu already, then at TCL (in the uniVerse account), type LOGIN (which contains the line MOTIF SYSADM.MENU which you could type at TCL, too) which will take you to the UV sysadm menu. Once there, type ONLY M (you won't need to press Enter), then R, then Y, then ENTER or C. If you read the options as you do them, you will see that you are removing unused printer memory segments. This is a major cause of not being able to log back in, OR the message that the uniVerse user
  2. Sometimes after doing #1, you will be done and it is all that is needed after CTRL-Q has been done and the user gets a login but can't log in. NOTE: If the terminal appears to be doing something but nothing echos to the screen or there is a lot of garbage on the screen, try sh -c 'stty sane' on that terminal for platforms running unix System V (IBM, HP, Sequents running Dynix/ptx, etc.) and sh -c 'reset' (if <ENTER> doesn't seem to be working, use Ctrl-J) for platforms running Berkley unix (DEC, Sequents running Dynix 3, etc.). On some systems, both commands work. You can also try sh -c 'tput init' on most unix systems. These commands will be done 'blind', that is, you may not be able to see anything on the screen. Next type PTERM ECHO ON at TCL. If none of these things work, you really are hung; on to #2.
  3. At the TCL (pronounced Tee See Ell, not tickle) prompt in uv type PORT-STATUS (narrow the search by typing PORT-STATUS USER logname or PORT-STATUS PORT ##, which is the UV port number, not the physical unix port, ie: PORT-STATUS PORT 32) to verify that the hung terminal has an associated UV (PICK) session. Unix-only sessions won't appear in this list. If the uniVerse session is shown with Unknown for the port and Unavailable for the last command processed then the unix session has gone away and #1 should clear it. If that doesn't clear it from PORT-STATUS then the user probably has already turned the power off and on to attempt to clear it himself. Slap someone's hands, please. The PID that comes back may not be the actual PID of the universe shell. You may need to perform a ps -ef (ps -aox or -aux on DEC and some others) and grep for the PID, ie: ps -ef | grep 23293, using the example for port 32 below (NOTE: the spaces before and after the pipe or vertical bar [|] are not necessary for the command to work). The PID you need is the PID attached to the line that shows /u1/uv/bin/uv at the far right. The PID is not to be confused with the PPID (parent process id) which is on the right of the PID.
  4. Type LIST-READU EVERY (narrow the search to the PORT ## as used above with LIST-READU USER 32 EVERY, otherwise a very long list is possible) to see if this process has any uniVerse files/items locked. Using this command repetitively is going to be necessary to verify that the terminal really is hung in uniVerse and is not just in a loop that appears hung. You will usually see the terminal in the first section (active group locks) but not in the second (active readu locks) with zeros in the G-Address and Readu columns. From PORT-STATUS you can see this port is unknown and unavailable, yet in the LIST-READU EVERY screen, it seems to be holding a valid readu lock. Notice, however that the login id is different for the two reports. The cause of this is the loss of a networked connection whose uniVerse session still owns a printer memory segment. The next user coming in is assigned the unused pty which is then assigned the uniVerse port. This user then hangs later in the session as it approaches the same place the other was when disconnected. If there is no file lock then you can go straight to #4 and use LO PID using the PID found in #2 above. This command is performed at TCL in the UV account. Don't forget step #1, too.
  5. First see if the users previously and currently assigned to port 32 (ammon & becky) are having difficulties. If either of them say no, then ammon has logged back in and is attached to a different port on the list (not shown in our cross-section) and becky hasn't gotten busy enough to step into the trap left by ammon. Have becky log off and back in. If she can't, type MASTER OFF 32 (first choice, given our pseudo situation) at TCL. 32 is the port number of the terminal you are trying to free. If this doesn't work, try LOGOUT 23293 (you can also type LO 23293) also at TCL. This is the process id (Pid) for the terminal. The port number is found in the PORT-STATUS list in the Who column and in LIST-READU EVERY in the Userno column. The Pid number is found in the PORT-STATUS (first column) & LIST-READU EVERY (Pid column in active readu locks section) lists.
  6. Go to the UV sysadm menu and remove unused printer memory segments. At TCL in the uniVerse account, type LOGIN (which contains the line MOTIF SYSADM.MENU) which will take you to the UV sysadm menu. Once there, type ONLY M (you won't need to press Enter), then R, then Y, then ENTER or C. If you read the options as you do them, you will see that you are removing unused printer memory segments. This is a major cause of not being able to log back in, OR the message that the uniVerse user limit has been exceeded after hung terminals have been freed.

 

If none of the above steps work after trying several times, DON'T try anything else without consulting an Operating Systems systems analyst. As you work through these problems with them, you will become more familiar with the idiosyncrasies of different hardware platforms and will become more independent.

 

Example LIST-READU EVERY screen:

Active Group locks:

Device  Inode. Netnode Userno Lmode   G-Address  Readus

   162   2278        0     35  8 IN      14400      1

   162   2268        0     33  8 IN      13800      1

   162   2178        0     34 11 IN     AAE000      1

   162   2282        0     30 16 IN       DA00      1

    33    550        0     32 16 IN      6A400      1

   162   2405        0     29 23 IN      18A00      1

 

Active Record Locks:

Device  Inode   Netnode Userno Lmode  Pid  Login Id  Item-ID

   162   2268        0     33  8 RU  24550 clctr-25  46021

   162   2178        0     34 11 RU   7362 clctr-214 88677

   162   2282        0     30 16 RU  23233 clctr-27  163540

    33    550        0     32 16 RU  25431 becky     19235

   162   2405        0     29 23 RU  23624 clctr-157 124804

 

Example PORT-STATUS screen:

There are currently 8 uniVerse sessions; 8 interactive, 0 phantom

 

Pid    User name  Who Port name    Last command processed

23624  clctr-157  29  /dev/pts/15  RUN BLIB CF-UPDATE [STRING.INPUT @ 0x980]

23233  clctr-27   30  /dev/pts/16  RUN BLIB CF-UPDATE [STRING.INPUT @ 0x980]

23293  ammon      32  Unknown      Unavailable

24550  clctr-25   33  /dev/pts/19  RUN BLIB CF-UPDATE [STRING.INPUT @ 0x980]

 7362  clctr-214  34  /dev/pts/22  RUN BLIB POST [CMD3SUB @ 0x252]

 2366  misadm     36  /dev/pts/24  MENU-DRIVER [MENU.DRIVER @ 0x23B4]

 

Wednesday, January 23, 2008

Review & Compare Adobe Acrobat Products

Review & Compare Adobe Acrobat Products – Use the link below…

 

http://www.adobe.com/products/acrobat/matrix.html

 

You can buy these products from Acuityware by Calling 609.607.8114

 

 

Thursday, January 17, 2008

To schedule a task using the operating system (SyncToy Example)

1.      From the Start menu, select All Programs - Accessories - System Tools - Scheduled Tasks.

2.      Select Add scheduled task to start the Scheduled Task Wizard. You will see a list of possible programs to run.

3.      SyncToy may appear as an option in the list. If SyncToy does not appear in the list, click Browse and go find it.
(Note: Odds are, it’s in your c:\Program Files\Microsoft\SyncToy directory)

4.      The wizard will next prompt you to enter how often you want to run the scheduled SyncToy (for example, daily, weekly, et cetera). Select a frequency.
(Note: I’d suggest weekly unless you make lots of changes to your documents)

5.      The next page asks when to start the task. Select a start time.
(Note: I’d suggest middle of the night.)

6.      The next page asks for the user name and password to run the program under. Enter your user name and password.

7.      The final page contains an option to open the properties dialog when the wizard ends. Select this checkbox.

8.      Modify the Run textbox to include (append) the –R command line option. –R all by itself will run all folder pairs that are active for run all. (Note: Sufficient if you only have this one pair, or other similar pairs. In which case, you’re done with this step) If you want to run just a single folder pair, add –R“My Pair” to the end of the command line. Note: there is a space before the hyphen but not one after the R. If the folder pair name contains a space, surround it with quotation marks, as the example above shows. For another example, assume that SyncToy is in the folder named C:\My Folder and that you want to run a folder pair named “My folder pair.” Enter the command line as follows, including the quotation marks: “C:\My Folder\SyncToy.exe” -R”My folder pair.” Note that there are two sets of quotation marks in this case: one is around the path to the SyncToy program file and the other surrounds the folder pair name.

Today - January 17th, 2008

I just wanted to make note that my third child, Nicole Marie is 8 yrs
old today!

Sent from my iPhone!