Title: | -={ H A C K E R S }=- |
Notice: | Write locked - see NOTED::HACKERS |
Moderator: | DIEHRD::MORRIS |
Created: | Thu Feb 20 1986 |
Last Modified: | Mon Aug 03 1992 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 680 |
Total number of notes: | 5456 |
I often log in more then once to the same system and I like to have a personalized process name. Now if you want the same name for all processes you switch your UIC outside your group, set the name, switch UIC back and presto! But what if you want a unique name? Trial and ON ERROR? What do you think the _best_ (short? fast? clear? kludge?) way to produce a unique personalized name? I use the following sequence in LOGIN.COM without any privs set. $all_names = "Ne Quittez Pas!ACMS (de)BUGGERNice View Ogenblikje SVP!" $! 123456789012345123456789012345123456789012345123456789012345 $ctx = "" $pid_loop: $pid = f$pid(ctx) $if pid .eqs. "" then goto set_proc_name $all_names = all_names - f$getjpi(pid,"PRCNAM") $goto pid_loop $set_proc_name: $set proc/name="''f$extract(0,15,all_names)'"
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
371.1 | SQM::RICO | Fri Dec 12 1986 12:24 | 3 | ||
I take a simpler view. I don't have several catch sayings for process names, so I just use, for example, "xyz", " xyz", " xyz", " xyz", etc. This is easy to construct in a command file. | |||||
371.2 | KOALA::ROBINS | Scott A. Robins, ZKO2-2/R94 | Fri Dec 12 1986 12:51 | 33 | |
The following code segment sets my process name to "Scott A. Robins", if I am NOT in a sub-process. If it fails, it sets it to "S.A.R.#n". Scott item_code := JPI$_OWNER ; process_id := LONGWORD 0 ; process_name := LONGWORD 0 ; out_string := "" ; ! Just to be sure it's allocated. fn_ret := lib$getjpi( item_code , process_id , process_name , out_value , out_string , out_len ); if (fn_ret=(LONGWORD 1)) then ! Ignore it if it fails, we'll find out soon enough. if (out_value=(LONGWORD 0)) then ! We are NOT a sub-process if NOT sys$setprn ("Scott A. Robins") then out_string := "S.A.R." ; for i in 1..100 loop exit if sys$setprn(out_string) ; out_string := "S.A.R. #" & string i ; end loop ; end if ; else ! We ARE a sub-process. ! Don't bother. end if ; end if ; | |||||
371.3 | All in a couple of lines | BARNA::SOLEPONT | Jaume, �Barcelona 1992� more than ever | Fri Dec 12 1986 14:04 | 2 |
$ pid = %X'f$getjpi(0,"pid") $ set process/name="Jaume, ''pid'" | |||||
371.4 | From my LOGIN.COM | FROST::HARRIMAN | No longer a 41 class part | Fri Dec 12 1986 14:07 | 48 |
I have an approach to that which I have used for quite a long while. I use version numbers on any parent processes. The subprocesses get to use the same version number, since I keep symbols around to create subprocesses (SPAWN/NAME=whatever) like my editor, mail, notes, etc. The code to set up the process name is thus: $ myname = "Paul Harriman;" $ Iteration = 1 $ printable_iteration = f$string(iteration) $! $Set_Process_Name: $! $ ON ERROR THEN GOTO ADD_ONE $ Processname = myname + printable_iteration $ SET PROC/NAME="''Processname'" $ goto definitions $! $Add_One: $ Iteration = Iteration + 1 $ Printable_Iteration = f$string(iteration) $ Goto Set_Process_Name $! $! Done setting Process Name.. $! $Definitions: I'm sure some other structured programmer could improve on this or do it in less lines, I personally don't mind the extra couple of nanoseconds for it to do this. I then pass the iteration and my process name result to another command procedure which turns the full name (in my case "Paul Harriman;1") to "Harriman" and ";1". My TPU processname would then turn into "Harriman/TPU;1"; the MAIL subprocess "Harriman/Mail;1", and so on. Since I enjoy this sort of thing, I have mapped my keypad to attach to these subprocesses by assigning them to the value of the symbols I create on startup. This allows (in my case) about 9 parent processes (which I don't usually get around to doing). I assume some other more motivated individual can improve this to make it all run faster, or make a real executable program to do it... however this is an entirely DCL-driven method and the only non-generic thing about it is the person's name being used. /pjh | |||||
371.5 | DCL random number generator... | CAFEIN::PFAU | You can't get there from here | Fri Dec 12 1986 14:27 | 79 |
$ set noon $ set mess/nofaci/noseve/notext/noiden $ exe$gq_systime = %x80002b40 $ inter = f$mode() .eqs. "INTERACTIVE" $ batch = f$mode() .eqs. "BATCH" $ if .not. (inter .or. batch) then exit $ if inter then file = "ut:interactive.dat" $ if batch then file = "ut:batch.dat" $ open/read/share/err=fallback foo 'file' $ line1 = "" $ if p1 .nes. "" then goto 'p1' $! $time: $ count = 0 $timeloop: $ tmp = f$fao("!AD",8,exe$gq_systime) $ tmp = f$cvui(10,4,tmp) $ number = tmp $ tmp = f$fao("!1XL",f$integer(tmp)) $ read foo line/key="''tmp'" $ line = line - "''tmp'" $ name = line $ set proc/name="''line'" $ if $status then goto setdone $ count = count + 1 $ if count .lt. 10 then goto timeloop $! $! Try using the low four bits of the pid as the index $! $pid: $ tmp=f$getjpi(0,"pid") $ tmp=%x'tmp'.and.15 $ number = tmp $ tmp=f$fao("!1XL",f$integer(tmp)) $ read foo line1/key="''tmp'" $ line1=line1-"''tmp'" $ name = line1 $ set proc/name="''line1'" $ if $status then goto setdone $! $! Try using the low four bits of the terminal unit number $! $unit: $ if f$mode() .eqs. "BATCH" then goto fallback $ tmp=f$integer(f$getdvi("sys$command","unit")).and.15 $ number = tmp $ read foo line2/key="''tmp'" $ line2=line2-"''tmp'" $ if line2 .eqs. line1 then goto fallback $ name = line2 $ set proc/name="''line2'" $ if $status then goto setdone $! $! Build a string using the process mode and the pid $! $fallback: $ mode = f$extract(0,5,f$mode()) $ mode = f$edit(mode,"lowercase") $ mode[0,8] = f$cvui(0,8,mode) - 32 $ if mode .nes. "Inter" then goto get_pid $ term=f$logical("sys$command") $ if f$getdvi(term,"tt_modem") then mode = "Dial" $ if f$extract(2,2,term) .eqs. "RT" then mode = "Remot" $get_pid: $ pid = "%X" + f$extract(4,4,f$getjpi("","pid")) $ octalpid = f$fao("!OW",f$integer(pid)) $ octalpid = f$string(f$integer(octalpid)) $ lenpid = f$length(octalpid) * 3 $ hexpid = f$fao("!#XL",(lenpid+3)/4,%O'octalpid') $ if f$extract(0,1,hexpid) .eqs. "0" then hexpid = hexpid - "0" $ name = "Pfau_" + mode + "_" + hexpid $ set process /name="''name'" $setdone: $ if f$type(number) .nes. "" then - write sys$output "Process name number ",number,", name is '",name,"'" $ if f$type(number) .eqs. "" then - write sys$output "Process name set to '",name,"'" $ close foo $ set mess/text | |||||
371.6 | try it this way.... | KIM::BARKER | My terminal is the window to the world! | Fri Dec 12 1986 16:50 | 24 |
I kind've like to stay cryptic, so I use the following: $SET PROC/NAME=">" $SET PROC/NAME="->" $SET PROC/NAME="-->" $SET PROC/NAME="--->" $SET PROC/NAME="---->" $SET PROC/NAME="----->" $SET PROC/NAME="------>" $SET PROC/NAME="------->" $SET PROC/NAME="-------->" $SET PROC/NAME="--------->" $SET PROC/NAME="---------->" $SET PROC/NAME="----------->" $SET PROC/NAME="------------>" $SET PROC/NAME="------------->" $exit ------------------------------------------------------------------------------- whenever I log on again, I automatically get the last name that is not in use, (all in use sets error)... :-{) John | |||||
371.7 | Group logicals survive logout. | STAR::MANN | Sat Dec 13 1986 17:44 | 5 | |
I use a group logical name to keep track of how many times I've logged in since the system booted. Bruce Mann (34) | |||||
371.8 | Brute force | STAR::KAPLAN | Mon Dec 15 1986 20:53 | 30 | |
$! $! I'm sure this can be done more elegantly, but it works. $! It keeps trying to set your personal name by adding a count $! to the value of PERSONAL_NAME $! $ sho proc $ USERNAME = "xxxxxxx" ! your username $ PERSONAL_NAME = "yyyyy" ! what you'd like for a process name $ ! $ SETNAME: $ dup = 0 $ on control_y then goto END_SETNAME $ set message/nofac/nosev/notext/noid $ on error then goto OPS $ if f$process().eqs. USERNAME then SET PROCESS /NAME="''PERSONAL_NAME'" $ goto END_SETNAME $ ! $ OPS: $ DUP = DUP + 1 $ on error then goto OPS $ SET PROCESS /NAME="''PERSONAL_NAME' ''dup'" $ on severe then goto DONE $ ! $ END_SETNAME: $ set message/fac/sev/text/id ! turn messages back on $ set noon $ on error then goto done $ ! $ DONE: $ sho proc | |||||
371.9 | Login.b32 extract | IOSG::YUILLE | Andrew Yuille | Tue Dec 16 1986 05:31 | 281 |
This was begining to get a bit COMMAND_PROCEDURESsih - so I thought I'd put in my LOGIN.B32. Its a lot faster. Should be obvious enough where it needs to be tailored. If the process (my) name is already defined for the node / UIC, I set up a string (Andry-xx-n), where xx tells me the type of job (BT for batch, etc), and n is a count to make it unique. Two drawbacks: On a cluster, it doesn't see the process name set for the same UIC on another node. I have to live with that. The most time consuming factor is setting up my KeyPad. I haven't managed to find out how to set this from Bliss, for DCL yet. I would be very interested to hear any suggestions on this. SMG only sets up the keypad for the duration of the image, which dies when I go back to DCL, where I want it! Here's an extract from my login.b32 (called by login.com) --------------------------------------------------------- MODULE login ( MAIN = login ) = BEGIN !++ ! LOGIN.B32 - Set up global symbols for process !-- LIBRARY 'SYS$LIBRARY:STARLET' ; REQUIRE 'LOGIN' ; EXTERNAL ROUTINE LIB$PUT_OUTPUT : addressing_mode (general) , ! Output to screen SYS$SETPRN : addressing_mode (general) , ! Set Process Name SCR$PUT_SCREEN : addressing_mode (general) , ! Output to screen LIB$SET_LOGICAL : addressing_mode (general) , ! Set up logical name LIB$SYS_TRNLOG : addressing_mode (general) , ! Translate logical name SYS$GETJPIW : addressing_mode (general) , ! Get process name STR$CONCAT : addressing_mode (general) , ! Concatenate strings STR$APPEND : addressing_mode (general) , ! Append strings STR$COPY_DX : addressing_mode (general) , ! Copy strings LIB$DAY_OF_WEEK : addressing_mode (general) , ! Get day of week LIB$SET_SYMBOL : addressing_mode (general) ; ! Set global symbol FIELD $getjpi_fields = SET getjpi_buflen = [ 0, 0, 16, 0], ! Length available getjpi_item = [ 2, 0, 16, 0], ! Item required getjpi_buffaddr = [ 4, 0, 32, 0], ! Buffer address getjpi_retlen = [ 8, 0, 32, 0], ! Address for returned length getjpi_term = [12, 0, 32, 0] ! List terminator TES ; ROUTINE login = BEGIN LITERAL full_length = 100 , msg_len = 100 , p_len = 16 , network = 1 , ! Process mode types batch = 2 , ! BATCH interactive = 3 , ! INTERACTIVE operator = 4 , ! INTERACTIVE from operator console LIB$K_CLI_GLOBAL_SYM = 2 ; LOCAL ok , Null : INITIAL (0) , Mode , char , proc_retlen , len , proc_ptr , proc_no , $fixed_desc (term, 10) , $fixed_desc (dev, 10) , $fixed_desc (dir, 40) , $dyn_desc (msg, msg_len) , $fixed_desc (msg2, msg_len) , $fixed_desc (full_name, full_length) , $ptr_desc (top_dir, 0) , $ptr_desc (mode_nam, 10) , $text_desc (my_name, 'Andrew Yuille') , pid : INITIAL (0) , $fixed_desc (proc_mode, p_len) , p_name_buf : BLOCK [16, BYTE] FIELD ($getjpi_fields) PRESET ( [getjpi_buflen] = p_len, ! Length available [getjpi_item] = JPI$_MODE, ! Process mode request [getjpi_buffaddr] = proc_modebuf, ! Text buffer address [getjpi_retlen] = proc_retlen, ! Returned length [getjpi_term] = 0 ! Terminator ) , mode_buf : VECTOR [10,BYTE] INITIAL (BYTE (%C'A', %C'n', %C'd', %C'r', %C'y', ! 0 1 2 3 4 %C'_', %C'I', %C'N', %C'_', %C'0') ) , ! 5 6 7 8 9 glob_sym : INITIAL (LIB$K_CLI_GLOBAL_SYM) ; ! Get process mode SYS$GETJPIW (0, pid, 0, p_name_buf, 0, 0, 0) ; Mode = .proc_modebuf ; mode_nam [DSC$A_POINTER] = mode_buf ; proc_ptr = mode_nam ; len = .mode_nam [DSC$W_LENGTH] ; proc_no = %C'1' ; SELECTONE .Mode OF SET [INTERACTIVE]: BEGIN ! Get terminal line number LIB$SYS_TRNLOG (%ASCID 'TT', term [DSC$W_LENGTH], term) ; char = ch$ptr (.term [DSC$A_POINTER]) ; IF ch$find_ch (2, .char, %C'O') NEQ 0 THEN BEGIN Mode = Operator ; ! Set flag if at Operator Console mode_buf [6] = %C'O' ; mode_buf [7] = %C'P' ; END ELSE BEGIN proc_ptr = my_name ; len = .my_name [DSC$W_LENGTH] ; proc_no = %C'0' ; msg [DSC$W_LENGTH] = msg_len ; STR$CONCAT (msg, %ASCID ' Line: ', term) ; msg [DSC$W_LENGTH] = .term [DSC$W_LENGTH] + 12 ; LIB$PUT_OUTPUT (msg) ; ! Output terminal line number END ; END ; [BATCH]: BEGIN mode_buf [6] = %C'B' ; mode_buf [7] = %C'T' ; END TES ; mode_buf [9] = .proc_no ; msg [DSC$W_LENGTH] = msg_len ; STR$COPY_DX (msg, %ASCID ' Other processes: ') ; ok = SYS$SETPRN (.proc_ptr) ; WHILE .ok EQL SS$_DUPLNAM DO BEGIN IF .Mode EQL interactive THEN BEGIN IF .proc_no GTR %C'0' THEN STR$APPEND (msg, %ASCID ', ') ; STR$APPEND (msg, .proc_ptr) ; END ; proc_no = .proc_no + 1 ; mode_buf [9] = .proc_no ; proc_ptr = mode_nam ; len = .mode_nam [DSC$W_LENGTH] ; ok = SYS$SETPRN (.proc_ptr) ; IF .proc_no EQL %C'9' THEN EXITLOOP ! Don't handle more than 9...! END ; IF .Mode EQL interactive THEN BEGIN msg2 [DSC$W_LENGTH] = msg_len ; STR$CONCAT (msg2, %ASCID ' Process: ', .proc_ptr) ; msg2 [DSC$W_LENGTH] = .len + 11 ; LIB$PUT_OUTPUT (msg2) ; IF .proc_no GTR %C'0' THEN LIB$PUT_OUTPUT (msg) ; END ; ! Get login device and directory LIB$SYS_TRNLOG (%ASCID 'SYS$LOGIN_DEVICE', dev [DSC$W_LENGTH], dev) ; LIB$SYS_TRNLOG (%ASCID 'SYS$LOGIN', dir [DSC$W_LENGTH], dir) ; ! Generate string dev:dir, without last ']', for sub-directories top_dir [DSC$A_POINTER] = .dir [DSC$A_POINTER] ; top_dir [DSC$W_LENGTH] = .dir [DSC$W_LENGTH] - 1 ; !+ ! General definitions !- ! Set up general logicals LIB$SET_LOGICAL (%ASCID 'MY', dir) ; LIB$SET_LOGICAL (%ASCID 'TOP', dir) ; LIB$SET_LOGICAL (%ASCID 'HERE', dir) ; ! Set up C -> sys$login.commands] full_name [DSC$W_LENGTH] = full_length ; STR$CONCAT (full_name, top_dir, %ASCID '.COMMANDS]') ; full_name [DSC$W_LENGTH] = .top_dir [DSC$W_LENGTH] + 10 ; LIB$SET_LOGICAL (%ASCID 'C', full_name) ; ! Set up lib -> .lib] full_name [DSC$W_LENGTH] = full_length ; STR$CONCAT (full_name, top_dir, %ASCID '.LIB]') ; full_name [DSC$W_LENGTH] = .top_dir [DSC$W_LENGTH] + 5 ; LIB$SET_LOGICAL (%ASCID 'LIB', full_name) ; ! Set up ml -> .mail] full_name [DSC$W_LENGTH] = full_length ; STR$CONCAT (full_name, top_dir, %ASCID '.MAIL]') ; full_name [DSC$W_LENGTH] = .top_dir [DSC$W_LENGTH] + 6 ; LIB$SET_LOGICAL (%ASCID 'ML', full_name) ; ! Set up mail$init -> sys$login.mail]mailinit.com full_name [DSC$W_LENGTH] = full_length ; STR$CONCAT (full_name, top_dir, %ASCID '.MAIL]MAILINIT.COM') ; full_name [DSC$W_LENGTH] = .top_dir [DSC$W_LENGTH] + 18 ; LIB$SET_LOGICAL (%ASCID 'MAIL$INIT', full_name) ; LIB$SET_LOGICAL (%ASCID 'DBG$INIT', %ASCID 'LIB:DBG.DAT') ; LIB$SET_LOGICAL (%ASCID 'EDTINI', %ASCID 'LIB:EDTINI.EDT') ; LIB$SET_LOGICAL (%ASCID 'EDTINI2', %ASCID 'NLA0:') ; LIB$SET_LOGICAL (%ASCID 'EDT', %ASCID 'LIB:XEDT.EXE') ; LIB$SET_LOGICAL (%ASCID 'MAIL$EDIT', %ASCID 'CALLABLE_EMACS') ; ! Set up general Symbols LIB$SET_SYMBOL (%ASCID 'sl', %ASCID 'show logical', glob_sym) ; LIB$SET_SYMBOL (%ASCID 'ss', %ASCID 'show symbol', glob_sym) ; IF .Mode EQL Interactive THEN LIB$SET_SYMBOL (%ASCID 'kp', %ASCID 'set terminal/application', glob_sym) ; !+ ! VT220 Terminal set ups - skip if OPA0: or BATCH !- IF .Mode EQL interactive THEN BEGIN ! set term/eight ! F6= D i s c o n n e c t . A l l SCR$PUT_SCREEN (%ASCID '�1;1|17/446973636F6E6E65637420416C6C0D�') ; !B ! F7= C o n n e c t . F O R T Y 2 SCR$PUT_SCREEN (%ASCID '�1;1|18/436F6E6E65637420464F525459320D�') ; ! ! F8= C o n n e c t . I O S G SCR$PUT_SCREEN (%ASCID '�1;1|19/436F6E6E65637420494F53470D�') ; ! ! F9= s e t . s w i t c h . ^\ SCR$PUT_SCREEN (%ASCID '�1;1|20/73657420737769746368201C0D�') ; ! ! F10= S h o w . N o d e . F O R T Y 2 SCR$PUT_SCREEN (%ASCID '�1;1|21/53686F77204E6F646520464F525459320D�') ; ! ! F11= ESC SCR$PUT_SCREEN (%ASCID '�1;1|23/1B<ST>') ; ! ! F12= S h o w . S e s s i o n s SCR$PUT_SCREEN (%ASCID '�1;1|24/53686F772053657373696F6E730D�') ; ! ! F13= S h o w . U s e r s SCR$PUT_SCREEN (%ASCID '�1;1|25/53686F772055736572730D�') ; ! ! F14= S h o w . N o d e s SCR$PUT_SCREEN (%ASCID '�1;1|26/53686F77204E6F6465730D�') ; ! ! HELP= H e l p SCR$PUT_SCREEN (%ASCID '�1;1|28/48656C700D�') ; ! ! F17= S h o w . T e r m i n a l SCR$PUT_SCREEN (%ASCID '�1;1|31/53686F77205465726D696E616C0D�') ; ! ! F18= B r o a d c a s t . T e r m i n a l SCR$PUT_SCREEN (%ASCID '�1;1|32/42726F616463617374205465726D696E616C20�') ; ! ! F19= Y U I L L E / C O M M A N D = SCR$PUT_SCREEN (%ASCID '�1;1|33/5955494C4C452F434F4D4D414E443D�') ; ! ! F20= Y U I L L E / N O C O M M A N D SCR$PUT_SCREEN (%ASCID '�1;1|34/5955494C4C452F4E4F434F4D4D414E440D�') ; END ; !+ ! End of VT220 Terminal set ups !- ss$_normal END ; END ! of LOGIN.B32 ELUDOM | |||||
371.10 | Not to be outdone. | BLITZN::PALO | Ertu vitlaus? | Thu Dec 18 1986 15:35 | 21 |
$ DEFINE/NoLog RIK_NAMES - ! 2^n names """space cowboy""",- """BUGCHECK FATAL""",- """Kernel Mode""",- """George Jetson""",- """Fred Flintstone""",- """Stumpjumper""",- """@(..)@""",- """VAXinated""",- """Hacking Central""",- """euphemisms suck""" ,- """Infatuated &-)""",- """diesel & ethel""",- """fat-tire lover""",- """cheap thrill""",- """wango tango""",- """Say whahh?""" $ try_again: $ on error then goto try_again $ set proc/name='f$trn("RIK_NAMES",,f$cvt(,,"HUNDREDTH").and.f$trn("RIK_NAMES",,,,,"MAX_INDEX")) $ set noon | |||||
371.11 | Look at PROCNAME in the toolshed | THEBAY::WAKEMANLA | Cybernetic Etymologist | Thu Dec 18 1986 18:43 | 1 |
371.12 | regards to all... | POGO::CHARRON | Red Baron | Fri Dec 19 1986 00:56 | 9 |
re note -.10 Is it possible to add names to your list ? and what is the ! 2^names at the top of your list mean ? Also is there a limit as to how long of a name you can use ? Oh yes I tried the one memtioned in -.11 and the directory is no longer listed so couldn't get to the files..... Al. | |||||
371.13 | BISTRO::HEIN | Hein van den Heuvel, Valbonne. | Fri Dec 19 1986 03:32 | 14 | |
re .10. Hmmm, now if we combine yours & mine (.0) we get: A long (10+) list of potential names from which we subtract any name currently in use, and then psuedo randomly select one by using the lowest digit of the current time. That would be an almost scientifical solution to a nonsense problem as opposed to the rough trial and ON ERROR so often proposed. :-) :-) re.12 15 Characters limit. That's why I have the 'ruler' in a comment line in .0. Hein. | |||||
371.14 | Here's why 2^n | REGINA::OSMAN | and silos to fill before I feep, and silos to fill before I feep | Fri Dec 19 1986 13:09 | 8 |
The reason there are 2^n names is so the ".and." expression uses all binary 1's on its righthand side, hence masking the hundreths to the number of elements in the list. Please note, however, that if you make the list too long, you'll need more than hundreths to include them all ! /Eric | |||||
371.15 | How to get PROCNAME | THEBAY::WAKEMANLA | Cybernetic Etymologist | Fri Dec 19 1986 14:27 | 76 |
re: .12 From: CAD::FANEUF "Earl, Hl02-2/H13 (pole G11) DTN 225-4847 SPICE SUPPORT 08-Dec-1986 2132" 8-DEC-1986 20:42 To: @procname.dis,FANEUF Subj: New PROCNAME release! +---+---+---+---+---+---+---+ | d | i | g | i | t | a | l | I N T E R O F F I C E M E M O +---+---+---+---+---+---+---+ TO: PROCNAME Users DATE: 08 DEC , 1986 FROM: Earl Faneuf DEPT: SEG-CAD EXT: 225-4847 LOC/MAIL STOP: HLO2-2/H13 SUBJ: PROCNAME Version V2.2 Release Notice This is to document the release of PROCNAME version V2.2 Upon installation of PROCNAME on your machine, this release memo will be placed in PROCNAME$DIR:PROCNAME022.release_notes. INSTALLATION: A private installation is now done using a non-privaledged mode of a standard digital product called VMSINSTAL. Both system installations and private installations use the same files, which makes easier and and far less bugs in the installation procedures. NOTE: /REINSTALL will not preform this installtion. ******************************************************* TO INSTALL PRIVATELY: At DCL -- $ COPY CAD::F$TOOLS:[PUBLIC]PROCNAME_INSTALL.COM [] $ SPAWN ! done to retain your private symbols. $ @PROCNAME_INSTALL $ LOGOUT ! this logs you out of the SPAWN Then follow the instructions. If you have any trouble to install the tool, send me a mail and I will guide you with more exact information. The procedure is very simple, and similar to the previous installation method. ****************************************************** FOR A SYSTEM INSTALLATION, you will use VMSINSTAL directly, and must feed vmsinstal the standard info about location of this kit. LOCATION OF SAVE_SETS: CAD::F$TOOLS:[PUBLIC] SAVE_SET 'A' NAME : PROCNAME022.A ****************************************************** The differences between this version and version V2.1 are as follows: o corrected the failure of the RANDOM function to do true random functionality. * o corrected a bug introduced by the previous version of the compiler which caused some accounts to log-off with out any warning. o created this more efficient VMSINSTAL kit format for both system and private installs. o Removed the /REINSTALL qualifier because it was too difficult to impliment with my new VMSINSTAL style of installations. This will be re-implimented in a future release. o corrected the error in the implimentation of the CALLABLE_EMACS ml file. It now correctly works with emacs when used as described. | |||||
371.16 | BLITZN::PALO | Ertu vitlaus? | Sun Dec 21 1986 12:40 | 5 | |
Good idea, Hein... Go for it! a bientot. \rik | |||||
371.17 | ddca_username works for me | WROGM1::MERRELL | Greg Merrell/DTN 521-4553 | Sun Dec 28 1986 03:45 | 13 |
Since the systems which I work on tend to have usernames which are 9 characters or less, it has always worked to prepend the terminal name and an _ to the username when first logging in. This creates processnames of the form TXA7_MERRELL. With the introduction of terminal servers, it becomes necessary to chop off the end of the name when the unit numbers go above 999 on the VTA device. The advantage of this is that you can tell which process is running on which terminal without doing any thinking. Greg | |||||
371.18 | Little things please little minds | ISWSW::DOOLITTAN | This brain intentionally left blank | Mon Feb 02 1987 02:03 | 9 |
When I was working (?) at Lockheed in Sunnyvale, circa V3, I wrote a Macro program that I included in the system-wide login.com that set all process names for interactive processes to "WALDO_n" and all batch processes to "FARBO_n" where n was the lowest unused number in the group. Caused massive confusion first time someone did "$sho sys". Working with a bunch of engineers and mathematicians who were "too busy" to learn the machine had its advantages. andy |