04/26/84 do_subtree Syntax: do_subtree path -control_args or: do_subtree -slave Function: operates on a given directory, called the starting node, and all directories inferior to it by executing one or two given command lines after substituting the pathname of that directory in the command line. The do command performs the substitution, the directory pathname being taken as the first executed at each node before inferior nodes are operated on (the top-down command line) and after inferior nodes are operated on (the bottom-up command line). This command enables you to execute the argument command lines in several processes. The walking of the hierarchy can be substantially speeded up by use of this facility. The process in which the initial command lines in starting node is given is named the master process; the other cooperating processes are called the slave processes. The cooperating processes communicate via a segment called dos_mp_seg, which is found (or created if not found) in the working directory when do_subtree is issued. The master process must be logged in and begin executing first when multiple processes are used. Arguments: path is the starting node; -working_dir (-wd) specifies the working directory of the master process if multiple processes are being used. Control arguments: -bottom_up STR, -bu STR specifies the bottom-up command line. If STR contains blanks, it must be enclosed in quotes. The name of the directory of execution is the first argument to the do command. Access this value with the string "&r1" rather than "&1" in case any directory names contain special characters. Give one of -bottom_up or -top_down, but you can use both. -first N, -ft N makes N the first level of the directory hierarchy at which the command lines are executed. By definition, the starting node is at level 1. The default is -first 1. -last, -lt N makes N the last level in the storage system hierarchy at which the command lines are executed. The default is 99999, i.e., all levels. -long, -lg prints the names of the directories at which the command lines are executed. Unlike walk_subtree, this printing is off by default. In multiprocess executions with a bottom-up command line, an asterisk precedes all directory names for which the process executing the bottom-up command line is not the process that entered the directory first. -multiprocess, -mp makes the invoking process the master process of a multiprocess execution. The dos_mp_seg segment is created in the current working directory and execution begins. As slave processes are started, work is distributed by the master process among the slave processes. Execution ends in all processes simultaneously. The top-down/bottom-up order of execution is guaranteed by all processes: no command line is executed at a given directory until either the top-down command line is executed in all superior directories or the bottom-up command line is executed in all inferior directories. -no_msf does not treat multisegment files as directories. Unlike walk_subtree, multisegment files are treated as directories by default. Avoid -no_msf for most storage system maintenance operations. -slave executes the command line in another process, which must be in a working directory where an active master process has begun executing a multiprocess invocation of do_subtree. The master process uses all control arguments and command lines of the slave process. Execution in all processes finishes at the same time. Don't use more than 35 slave processes. -top_down STR, -td STR specifies the top-down command line. If STR contains blanks, it must be enclosed in quotes. The name of the directory of execution is the first argument to the do command. Access this value with the string "&r1" rather than "&1" in case any directory names contain special characters. Give one of -bottom_up or -top_down, but you can use both. Entry: do_subtree$recover This entry point is used to pick up the work load of a process that has died in a multiprocess execution. The process picking up the work load of the dead process must have as its working directory the directory in which the dos_mp_seg segment for the current multiprocess execution exists. Syntax: do_subtree$recover processnumber Arguments: processnumber is the process number of the dead process. The process number of a do_subtree process in a multiprocess execution is typed out as it joins the execution. Entry: do_subtree$abort This entry point halts a multiprocess execution of do_subtree. All processes return to command level at once. The process executing this command must have as its working directory the directory in which the dos_mp_seg segment of the current multiprocess execution exists. Syntax: do_subtree$abort Entry: do_subtree$status This entry point prints out much debugging and status information about all processes involved in a multiprocess execution of do_subtree, including the process identifiers and command lines. The process executing this command must have as its working directory the directory in which the dos_mp_seg of the current multiprocess execution exists. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved