annotate doc/interpreter/system.texi @ 2768:ee9582e6668f

[project @ 1997-03-01 03:12:36 by jwe]
author jwe
date Sat, 01 Mar 1997 03:12:37 +0000
parents 99dd10f4eaaf
children 91589ab98e37
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1 @c Copyright (C) 1996, 1997 John W. Eaton
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
2 @c This is part of the Octave manual.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
3 @c For copying conditions, see the file gpl.texi.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
4
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
5 @node System Utilities, Tips, Audio Processing, Top
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
6 @chapter System Utilities
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
7
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
8 This chapter describes the functions that are available to allow you to
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
9 get information about what is happening outside of Octave, while it is
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
10 still running, and use this information in your program. For example,
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
11 you can get information about environment variables, the current time,
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
12 and even start other programs from the Octave prompt.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
13
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
14 @menu
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
15 * Timing Utilities::
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
16 * Filesystem Utilities::
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
17 * Controlling Subprocesses::
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
18 * Process ID Information::
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
19 * Environment Variables::
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
20 * Current Working Directory::
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
21 * Password Database Functions::
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
22 * Group Database Functions::
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
23 * System Information::
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
24 @end menu
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
25
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
26 @node Timing Utilities, Filesystem Utilities, System Utilities, System Utilities
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
27 @section Timing Utilities
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
28
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
29 Octave's core set of functions for manipulating time values are
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
30 patterned after the corresponding functions from the standard C library.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
31 Several of these functions use a data structure for time that includes
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
32 the following elements:
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
33
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
34 @table @code
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
35 @item usec
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
36 Microseconds after the second (0-999999).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
37
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
38 @item sec
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
39 Seconds after the minute (0-61). This number can be 61 to account
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
40 for leap seconds.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
41
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
42 @item min
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
43 Minutes after the hour (0-59).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
44
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
45 @item hour
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
46 Hours since midnight (0-23).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
47
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
48 @item mday
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
49 Day of the month (1-31).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
50
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
51 @item mon
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
52 Months since January (0-11).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
53
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
54 @item year
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
55 Years since 1900.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
56
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
57 @item wday
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
58 Days since Sunday (0-6).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
59
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
60 @item yday
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
61 Days since January 1 (0-365).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
62
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
63 @item isdst
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
64 Daylight Savings Time flag.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
65
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
66 @item zone
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
67 Time zone.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
68 @end table
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
69
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
70 @noindent
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
71 In the descriptions of the following functions, this structure is
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
72 referred to as a @var{tm_struct}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
73
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
74 @deftypefn {Loadable Function} {} time ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
75 Return the current time as the number of seconds since the epoch. The
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
76 epoch is referenced to 00:00:00 CUT (Coordinated Universal Time) 1 Jan
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
77 1970. For example, on Monday February 17, 1997 at 07:15:06 CUT, the
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
78 value returned by @code{time} was 856163706.
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
79 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
80
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
81 @deftypefn {Function File} {} ctime (@var{t})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
82 Convert a value returned from @code{time} (or any other nonnegative
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
83 integer), to the local time and return a string of the same form as
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
84 @code{asctime}. The function @code{ctime (time)} is equivalent to
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
85 @code{asctime (localtime (time))}. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
86
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
87 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
88 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
89 ctime (time ())
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
90 @result{} "Mon Feb 17 01:15:06 1997"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
91 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
92 @end example
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
93 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
94
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
95 @deftypefn {Loadable Function} {} gmtime (@var{t})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
96 Given a value returned from time (or any nonnegative integer),
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
97 return a time structure corresponding to CUT. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
98
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
99 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
100 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
101 gmtime (time ())
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
102 @result{} @{
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
103 usec = 0
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
104 year = 97
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
105 mon = 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
106 mday = 17
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
107 sec = 6
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
108 zone = CST
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
109 min = 15
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
110 wday = 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
111 hour = 7
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
112 isdst = 0
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
113 yday = 47
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
114 @}
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
115 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
116 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
117 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
118
2465
7ee42ff6536a [project @ 1996-11-03 08:54:14 by jwe]
jwe
parents: 2462
diff changeset
119 @deftypefn {Loadable Function} {} localtime (@var{t})
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
120 Given a value returned from time (or any nonnegative integer),
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
121 return a time structure corresponding to the local time zone.
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
122
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
123 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
124 @group
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
125 localtime (time ())
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
126 @result{} @{
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
127 usec = 0
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
128 year = 97
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
129 mon = 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
130 mday = 17
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
131 sec = 6
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
132 zone = CST
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
133 min = 15
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
134 wday = 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
135 hour = 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
136 isdst = 0
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
137 yday = 47
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
138 @}
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
139 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
140 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
141 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
142
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
143 @deftypefn {Loadable Function} {} mktime (@var{tm_struct})
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
144 Convert a time structure corresponding to the local time to the number
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
145 of seconds since the epoch. For example,
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
146
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
147 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
148 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
149 mktime (localtime (time ())
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
150 @result{} 856163706
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
151 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
152 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
153 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
154
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
155 @deftypefn {Function File} {} asctime (@var{tm_struct})
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
156 Convert a time structure to a string using the following five-field
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
157 format: Thu Mar 28 08:40:14 1996. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
158
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
159 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
160 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
161 asctime (localtime (time ())
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
162 @result{} "Mon Feb 17 01:15:06 1997\n"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
163 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
164 @end example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
165
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
166 This is equivalent to @code{ctime (time ())}.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
167 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
168
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
169 @deftypefn {Loadable Function} {} strftime (@var{tm_struct})
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
170 Format a time structure in a flexible way using @samp{%} substitutions
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
171 similar to those in @code{printf}. Except where noted, substituted
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
172 fields have a fixed size; numeric fields are padded if necessary.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
173 Padding is with zeros by default; for fields that display a single
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
174 number, padding can be changed or inhibited by following the @samp{%}
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
175 with one of the modifiers described below. Unknown field specifiers are
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
176 copied as normal characters. All other characters are copied to the
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
177 output without change. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
178
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
179 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
180 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
181 strftime ("%r (%Z) %A %e %B %Y", localtime (time ())
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
182 @result{} "01:15:06 AM (CST) Monday 17 February 1997"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
183 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
184 @end example
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
185
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
186 Octave's @code{strftime} function supports a superset of the ANSI C
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
187 field specifiers.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
188
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
189 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
190 Literal character fields:
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
191
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
192 @table @code
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
193 @item %
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
194 % character.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
195
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
196 @item n
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
197 Newline character.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
198
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
199 @item t
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
200 Tab character.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
201 @end table
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
202
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
203 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
204 Numeric modifiers (a nonstandard extension):
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
205
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
206 @table @code
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
207 @item - (dash)
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
208 Do not pad the field.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
209
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
210 @item _ (underscore)
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
211 Pad the field with spaces.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
212 @end table
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
213
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
214 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
215 Time fields:
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
216
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
217 @table @code
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
218 @item %H
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
219 Hour (00-23).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
220
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
221 @item %I
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
222 Hour (01-12).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
223
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
224 @item %k
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
225 Hour (0-23).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
226
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
227 @item %l
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
228 Hour (1-12).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
229
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
230 @item %M
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
231 Minute (00-59).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
232
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
233 @item %p
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
234 Locale's AM or PM.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
235
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
236 @item %r
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
237 Time, 12-hour (hh:mm:ss [AP]M).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
238
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
239 @item %R
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
240 Time, 24-hour (hh:mm).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
241
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
242 @item %s
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
243 Time in seconds since 00:00:00, Jan 1, 1970 (a nonstandard extension).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
244
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
245 @item %S
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
246 Second (00-61).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
247
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
248 @item %T
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
249 Time, 24-hour (hh:mm:ss).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
250
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
251 @item %X
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
252 Locale's time representation (%H:%M:%S).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
253
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
254 @item %Z
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
255 Time zone (EDT), or nothing if no time zone is determinable.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
256 @end table
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
257
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
258 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
259 Date fields:
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
260
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
261 @table @code
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
262 @item %a
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
263 Locale's abbreviated weekday name (Sun-Sat).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
264
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
265 @item %A
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
266 Locale's full weekday name, variable length (Sunday-Saturday).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
267
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
268 @item %b
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
269 Locale's abbreviated month name (Jan-Dec).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
270
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
271 @item %B
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
272 Locale's full month name, variable length (January-December).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
273
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
274 @item %c
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
275 Locale's date and time (Sat Nov 04 12:02:33 EST 1989).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
276
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
277 @item %C
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
278 Century (00-99).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
279
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
280 @item %d
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
281 Day of month (01-31).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
282
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
283 @item %e
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
284 Day of month ( 1-31).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
285
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
286 @item %D
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
287 Date (mm/dd/yy).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
288
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
289 @item %h
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
290 Same as %b.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
291
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
292 @item %j
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
293 Day of year (001-366).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
294
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
295 @item %m
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
296 Month (01-12).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
297
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
298 @item %U
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
299 Week number of year with Sunday as first day of week (00-53).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
300
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
301 @item %w
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
302 Day of week (0-6).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
303
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
304 @item %W
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
305 Week number of year with Monday as first day of week (00-53).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
306
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
307 @item %x
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
308 Locale's date representation (mm/dd/yy).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
309
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
310 @item %y
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
311 Last two digits of year (00-99).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
312
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
313 @item %Y
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
314 Year (1970-).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
315 @end table
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
316 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
317
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
318 Most of the remaining functions described in this section are not
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
319 patterned after the standard C library. Some are available for
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
320 compatiblity with @sc{Matlab} and others are provided because they are
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
321 useful.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
322
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
323 @deftypefn {Function File} {} clock ()
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
324 Return a vector containing the current year, month (1-12), day (1-31),
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
325 hour (0-23), minute (0-59) and second (0-61). For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
326
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
327 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
328 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
329 clock ()
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
330 @result{} [ 1993, 8, 20, 4, 56, 1 ]
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
331 @end group
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
332 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
334 The function clock is more accurate on systems that have the
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
335 @code{gettimeofday} function.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
336 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
337
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
338 @deftypefn {Function File} {} date ()
2768
ee9582e6668f [project @ 1997-03-01 03:12:36 by jwe]
jwe
parents: 2759
diff changeset
339 Return the date as a character string in the form DD-MMM-YY. For
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
340 example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
341
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
342 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
343 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
344 date ()
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
345 @result{} "20-Aug-93"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
346 @end group
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
347 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
348 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
349
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
350 @deftypefn {Function File} {} etime (@var{t1}, @var{t2})
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
351 Return the difference (in seconds) between two time values returned from
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
352 @code{clock}. For example:
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
353
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
354 @example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
355 t0 = clock ();
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
356 # many computations later...
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
357 elapsed_time = etime (clock (), t0);
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
358 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
359
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
360 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
361 will set the variable @code{elapsed_time} to the number of seconds since
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
362 the variable @code{t0} was set.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
363 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
364
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
365 @deftypefn {Built-in Function} {[@var{total}, @var{user}, @var{system}] =} cputime ();
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
366 Return the CPU time used by your Octave session. The first output is
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
367 the total time spent executing your process and is equal to the sum of
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
368 second and third outputs, which are the number of CPU seconds spent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
369 executing in user mode and the number of CPU seconds spent executing in
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
370 system mode, respectively. If your system does not have a way to report
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
371 CPU time usage, @code{cputime} returns 0 for each of its output values.
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
372 Note that because Octave used some CPU time to start, it is reasonable
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
373 to check to see if @code{cputime} works by checking to see if the total
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
374 CPU time used is nonzero.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
375 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
376
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
377 @deftypefn {Function File} {} is_leap_year (@var{year})
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
378 Return 1 if the given year is a leap year and 0 otherwise. If no
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
379 arguments are provided, @code{is_leap_year} will use the current year.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
380 For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
381
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
382 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
383 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
384 is_leap_year (2000)
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
385 @result{} 1
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
386 @end group
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
387 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
388 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
389
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
390 @deftypefn {Function File} {} tic ()
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
391 @deftypefnx {Function File} {} toc ()
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
392 These functions set and check a wall-clock timer. For example,
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
393
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
394 @example
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
395 tic ();
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
396 # many computations later...
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
397 elapsed_time = toc ();
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
398 @end example
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
399
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
400 @noindent
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
401 will set the variable @code{elapsed_time} to the number of seconds since
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
402 the most recent call to the function @code{tic}.
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
403
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
404 If you are more interested in the CPU time that your process used, you
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
405 should use the @code{cputime} function instead. The @code{tic} and
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
406 @code{toc} functions report the actual wall clock time that elapsed
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
407 between the calls. This may include time spent processing other jobs or
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
408 doing nothing at all. For example,
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
409
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
410 @example
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
411 @group
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
412 tic (); sleep (5); toc ()
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
413 @result{} 5
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
414 t = cputime (); sleep (5); cputime () - t
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
415 @result{} 0
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
416 @end group
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
417 @end example
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
418
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
419 @noindent
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
420 (This example also illustrates that the CPU timer may have a fairly
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
421 coarse resolution.)
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
422 @end deftypefn
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
423
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
424 @deftypefn {Built-in Function} {} pause (@var{seconds})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
425 Suspend the execution of the program. If invoked without any arguments,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
426 Octave waits until you type a character. With a numeric argument, it
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
427 pauses for the given number of seconds. For example, the following
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
428 statement prints a message and then waits 5 seconds before clearing the
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
429 screen.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
430
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
431 @example
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
432 @group
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
433 fprintf (stderr, "wait please...\n");
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
434 pause (5);
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
435 clc;
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
436 @end group
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
437 @end example
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
438 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
439
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
440 @deftypefn {Built-in Function} {} sleep (@var{seconds})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
441 Suspend the execution of the program for the given number of seconds.
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
442 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
443
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
444 @deftypefn {Built-in Function} {} usleep (@var{microseconds})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
445 Suspend the execution of the program for the given number of
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
446 microseconds. On systems where it is not possible to sleep for periods
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
447 of time less than one second, @code{usleep} will pause the execution for
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
448 @code{round (@var{microseconds} / 1e6)} seconds.
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
449 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
450
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
451 @node Filesystem Utilities, Controlling Subprocesses, Timing Utilities, System Utilities
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
452 @section Filesystem Utilities
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
453
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
454 Octave includes the following functions for renaming and deleting files,
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
455 creating, deleting, and reading directories, and for getting information
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
456 about the status of files.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
457
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
458 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} rename (@var{old}, @var{new})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
459 Change the name of file @var{old} to @var{new}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
460
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
461 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
462 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
463 system-dependent error message.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
464 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
465
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
466 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} unlink (@var{file})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
467 Delete @var{file}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
468
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
469 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
470 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
471 system-dependent error message.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
472 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
473
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
474 @deftypefn {Built-in Function} {[@var{files}, @var{err}, @var{msg}] =} readdir (@var{dir})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
475 Return names of the files in the directory @var{dir} as an array of
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
476 strings. If an error occurs, return an empty matrix in @var{files}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
477
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
478 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
479 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
480 system-dependent error message.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
481 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
482
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
483 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} mkdir (@var{dir})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
484 Create a directory named @var{dir}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
485
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
486 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
487 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
488 system-dependent error message.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
489 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
490
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
491 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} rmdir (@var{dir})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
492 Remove the directory named @var{dir}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
493
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
494 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
495 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
496 system-dependent error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
497 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
498
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
499 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} mkfifo (@var{name})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
500 Create a FIFO special file.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
501
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
502 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
503 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
504 system-dependent error message.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
505 @end deftypefn
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
506
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
507 @c XXX FIXME XXX -- this needs to be explained, but I don't feel up to
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
508 @c it just now...
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
509
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
510 @deftypefn {Built-in Function} {} umask (@var{mask})
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
511 Set the permission mask for file creation. The parameter @var{mask} is
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
512 interpreted as an octal number.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
513 @end deftypefn
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
514
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
515 @deftypefn {Built-in Function} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{file})
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
516 @deftypefnx {Built-in Function} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{file})
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
517 Return a structure @var{s} containing the following information about
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
518 @var{file}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
519
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
520 @table @code
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
521 @item dev
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
522 ID of device containing a directory entry for this file.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
523
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
524 @item ino
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
525 File number of the file.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
526
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
527 @item modestr
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
528 File mode, as a string of ten letters or dashes as would be returned by
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
529 @kbd{ls -l}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
530
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
531 @item nlink
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
532 Number of links.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
533
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
534 @item uid
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
535 User ID of file's owner.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
536
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
537 @item gid
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
538 Group ID of file's group.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
539
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
540 @item rdev
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
541 ID of device for block or character special files.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
542
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
543 @item size
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
544 Size in bytes.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
545
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
546 @item atime
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
547 Time of last access in the same form as time values returned from
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
548 @code{time}. @xref{Timing Utilities}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
549
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
550 @item mtime
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
551 Time of last modification in the same form as time values returned from
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
552 @code{time}. @xref{Timing Utilities}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
553
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
554 @item ctime
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
555 Time of last file status change in the same form as time values returned from
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
556 @code{time}. @xref{Timing Utilities}.
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
557
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
558 @item blksize
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
559 Size of blocks in the file.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
560
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
561 @item blocks
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
562 Number of blocks allocated for file.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
563 @end table
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
564
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
565 If the call is successful @var{err} is 0 and @var{msg} is an empty
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
566 string. If the file does not exist, or some other error occurs, @var{s}
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
567 is an empty matrix, @var{err} is @minus{}1, and @var{msg} contains the
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
568 corresponding system error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
569
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
570 If @var{file} is a symbolic link, @code{stat} will return information
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
571 about the actual file the is referenced by the link. Use @code{lstat}
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
572 if you want information about the symbolic link itself.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
573
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
574 For example,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
575
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
576 @example
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
577 @group
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
578 [s, err, msg] = stat ("/vmlinuz")
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
579
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
580 @result{} s =
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
581 @{
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
582 atime = 855399756
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
583 rdev = 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
584 ctime = 847219094
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
585 uid = 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
586 size = 389218
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
587 blksize = 4096
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
588 mtime = 847219094
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
589 gid = 6
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
590 nlink = 1
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
591 blocks = 768
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
592 modestr = -rw-r--r--
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
593 ino = 9316
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
594 dev = 2049
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
595 @}
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
596
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
597 @result{} err = 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
598
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
599 @result{} msg =
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
600
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
601 @end group
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
602 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
603 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
604
2495
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
605 @deftypefn {Built-in Function} {} glob (@var{pattern})
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
606 Given an array of strings in @var{pattern}, return the list of file
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
607 names that any of them, or an empty string if no patterns match. Tilde
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
608 expansion is performed on each of the patterns before looking for
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
609 matching file names. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
610
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
611 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
612 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
613 glob ("/vm*")
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
614 @result{} "/vmlinuz"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
615 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
616 @end example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
617
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
618 Note that multiple values are returned in a string matrix with the fill
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
619 character set to ASCII NUL.
2495
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
620 @end deftypefn
29cd3862a9dc [project @ 1996-11-11 02:39:49 by jwe]
jwe
parents: 2475
diff changeset
621
2496
9823f8bfd1a5 [project @ 1996-11-11 03:17:10 by jwe]
jwe
parents: 2495
diff changeset
622 @deftypefn {Built-in Function} {} fnmatch (@var{pattern}, @var{string})
9823f8bfd1a5 [project @ 1996-11-11 03:17:10 by jwe]
jwe
parents: 2495
diff changeset
623 Return 1 or zero for each element of @var{string} that matches any of
9823f8bfd1a5 [project @ 1996-11-11 03:17:10 by jwe]
jwe
parents: 2495
diff changeset
624 the elements of the string array @var{pattern}, using the rules of
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
625 filename pattern matching. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
626
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
627 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
628 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
629 fnmatch ("a*b", ["ab"; "axyzb"; "xyzab"])
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
630 @result{} [ 1; 1; 0 ]
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
631 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
632 @end example
2496
9823f8bfd1a5 [project @ 1996-11-11 03:17:10 by jwe]
jwe
parents: 2495
diff changeset
633 @end deftypefn
9823f8bfd1a5 [project @ 1996-11-11 03:17:10 by jwe]
jwe
parents: 2495
diff changeset
634
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
635 @deftypefn {Built-in Function} {} file_in_path (@var{path}, @var{file})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
636 Return the absolute name name of @var{file} if it can be found in
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
637 @var{path}. The value of @var{path} should be a colon-separated list of
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
638 directories in the format described for the built-in variable
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
639 @code{LOADPATH}.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
640
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
641 If the file cannot be found in the path, an empty matrix is returned.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
642 For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
643
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
644 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
645 file_in_path (LOADPATH, "nargchk.m")
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
646 @result{} "@value{OCTAVEHOME}/share/octave/2.0/m/general/nargchk.m"
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
647 @end example
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
648 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
649
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
650 @deftypefn {Built-in Function} {} tilde_expand (@var{string})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
651 Performs tilde expansion on @var{string}. If @var{string} begins with a
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
652 tilde character, (@samp{~}), all of the characters preceding the first
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
653 slash (or all characters, if there is no slash) are treated as a
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
654 possible user name, and the tilde and the following characters up to the
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
655 slash are replaced by the home directory of the named user. If the
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
656 tilde is followed immediately by a slash, the tilde is replaced by the
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
657 home directory of the user running Octave. For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
658
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
659 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
660 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
661 tilde_expand ("~joeuser/bin")
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
662 @result{} "/home/joeuser/bin"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
663 tilde_expand ("~/bin")
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
664 @result{} "/home/jwe/bin"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
665 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
666 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
667 @end deftypefn
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
668
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
669 @node Controlling Subprocesses, Process ID Information, Filesystem Utilities, System Utilities
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
670 @section Controlling Subprocesses
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
671
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
672 Octave includes some high-level commands like @code{system} and
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
673 @code{popen} for starting subprocesses. If you want to run another
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
674 program to perform some task and then look at its output, you will
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
675 probably want to use these functions.
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
676
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
677 Octave also provides several very low-level Unix-like functions which
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
678 can also be used for starting subprocesses, but you should probably only
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
679 use them if you can't find any way to do what you need with the
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
680 higher-level functions.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
681
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
682 @deftypefn {Built-in Function} {} system (@var{string}, @var{return_output}, @var{type})
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
683 Execute a shell command specified by @var{string}. The second argument is optional.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
684 If @var{type} is @code{"async"}, the process is started in the
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
685 background and the process id of the child process is returned
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
686 immediately. Otherwise, the process is started, and Octave waits until
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
687 it exits. If @var{type} argument is omitted, a value of @code{"sync"}
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
688 is assumed.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
689
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
690 If two input arguments are given (the actual value of
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
691 @var{return_output} is irrelevant) and the subprocess is started
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
692 synchronously, or if @var{system} is called with one input argument and
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
693 one or more output arguments, the output from the command is returned.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
694 Otherwise, if the subprocess is executed synchronously, it's output is
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
695 sent to the standard output. To send the output of a command executed
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
696 with @var{system} through the pager, use a command like
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
697
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
698 @example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
699 disp (system (cmd, 1));
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
700 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
701
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
702 @noindent
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
703 or
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
704
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
705 @example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
706 printf ("%s\n", system (cmd, 1));
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
707 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
708
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
709 The @code{system} function can return two values. The first is any
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
710 output from the command that was written to the standard output stream,
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
711 and the second is the output status of the command. For example,
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
712
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
713 @example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
714 [output, status] = system ("echo foo; exit 2");
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
715 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
716
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
717 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
718 will set the variable @code{output} to the string @samp{foo}, and the
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
719 variable @code{status} to the integer @samp{2}.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
720 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
721
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
722 @deftypefn {Built-in Function} {fid =} popen (@var{command}, @var{mode})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
723 Start a process and create a pipe. The name of the command to run is
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
724 given by @var{command}. The file identifier corresponding to the input
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
725 or output stream of the process is returned in @var{fid}. The argument
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
726 @var{mode} may be
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
727
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
728 @table @code
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
729 @item "r"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
730 The pipe will be connected to the standard output of the process, and
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
731 open for reading.
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
732
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
733 @item "w"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
734 The pipe will be connected to the standard input of the process, and
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
735 open for writing.
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
736 @end table
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
737
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
738 For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
739
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
740 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
741 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
742 fid = popen ("ls -ltr / | tail -3", "r");
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
743 while (isstr (s = fgets (fid)))
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
744 fputs (stdout, s);
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
745 endwhile
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
746 @print{} drwxr-xr-x 33 root root 3072 Feb 15 13:28 etc
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
747 @print{} drwxr-xr-x 3 root root 1024 Feb 15 13:28 lib
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
748 @print{} drwxrwxrwt 15 root root 2048 Feb 17 14:53 tmp
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
749 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
750 @end example
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
751 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
752
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
753 @deftypefn {Built-in Function} {} pclose (@var{fid})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
754 Close a file identifier that was opened by @code{popen}. You may also
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
755 use @code{fclose} for the same purpose.
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
756 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
757
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
758 @deftypefn {Built-in Function} {[@var{in}, @var{out}, @var{pid}] =} popen2 (@var{command}, @var{args})
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
759 Start a subprocess with two-way communication. The name of the process
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
760 is given by @var{command}, and @var{args} is an array of strings
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
761 containing options for the command. The file identifiers for the input
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
762 and output streams of the subprocess are returned in @var{in} and
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
763 @var{out}. If execution of the command is successful, @var{pid}
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
764 contains the process ID of the subprocess. Otherwise, @var{pid} is
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
765 @minus{}1.
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
766
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
767 For example,
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
768
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
769 @example
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
770 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
771 [in, out, pid] = popen2 ("sort", "-nr");
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
772 fputs (in, "these\nare\nsome\nstrings\n");
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
773 fclose (in);
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
774 while (isstr (s = fgets (out)))
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
775 fputs (stdout, s);
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
776 endwhile
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
777 fclose (out);
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
778 @print{} are
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
779 @print{} some
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
780 @print{} strings
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
781 @print{} these
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
782 @end group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
783 @end example
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
784 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
785
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
786 @defvr {Built-in Variable} EXEC_PATH
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
787 The variable @code{EXEC_PATH} is a colon separated list of directories
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
788 to search when executing subprograms. Its initial value is taken from
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
789 the environment variable @code{OCTAVE_EXEC_PATH} (if it exists) or
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
790 @code{PATH}, but that value can be overridden by the the command line
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
791 argument @code{--exec-path PATH}, or by setting the value of
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
792 @code{EXEC_PATH} in a startup script. If the value of @code{EXEC_PATH}
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
793 begins (ends) with a colon, the directories
2535
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
794
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
795 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
796 @group
2701
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
797 @var{OCTAVE_HOME}/libexec/octave/site/exec/@var{ARCH}
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
798 @var{OCTAVE_HOME}/libexec/octave/@var{VERSION}/exec/@var{ARCH}
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
799 @end group
2535
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
800 @end example
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
801
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
802 @noindent
2701
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
803 are prepended (appended) to @code{EXEC_PATH}, where @var{OCTAVE_HOME}
2535
caa21ce81913 [project @ 1996-11-19 19:53:55 by jwe]
jwe
parents: 2496
diff changeset
804 is the top-level directory where all of Octave is installed
2701
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
805 (the default value is @file{@value{OCTAVEHOME}}). If you don't specify
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
806 a value for @code{EXEC_PATH} explicitly, these special directories are
cd5f72e530e2 [project @ 1997-02-19 19:15:40 by jwe]
jwe
parents: 2689
diff changeset
807 prepended to your shell path.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
808 @end defvr
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
809
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
810 In most cases, the following functions simply decode their arguments and
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
811 make the corresponding Unix system calls. For a complete example of how
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
812 they can be used, look at the definition of the function @code{popen2}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
813
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
814 @deftypefn {Built-in Function} {[@var{pid}, @var{msg}] =} fork ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
815 Create a copy of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
816
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
817 Fork can return one of the following values:
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
818
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
819 @table @asis
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
820 @item > 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
821 You are in the parent process. The value returned from @code{fork} is
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
822 the process id of the child process. You should probably arrange to
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
823 wait for any child processes to exit.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
824
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
825 @item 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
826 You are in the child process. You can call @code{exec} to start another
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
827 process. If that fails, you should probably call @code{exit}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
828
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
829 @item < 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
830 The call to @code{fork} failed for some reason. You must take evasive
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
831 action. A system dependent error message will be waiting in @var{msg}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
832 @end table
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
833 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
834
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
835 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} exec (@var{file}, @var{args})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
836 Replace current process with a new process. Calling @code{exec} without
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
837 first calling @code{fork} will terminate your current Octave process and
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
838 replace it with the program named by @var{file}. For example,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
839
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
840 @example
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
841 exec ("ls" "-l")
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
842 @end example
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
843
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
844 @noindent
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
845 will run @code{ls} and return you to your shell prompt.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
846
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
847 If successful, @code{exec} does not return. If @code{exec} does return,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
848 @var{err} will be nonzero, and @var{msg} will contain a system-dependent
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
849 error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
850 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
851
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
852 @deftypefn {Built-in Function} {[@var{file_ids}, @var{err}, @var{msg}] =} pipe ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
853 Create a pipe and return the vector @var{file_ids}, which corresponding
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
854 to the reading and writing ends of the pipe.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
855
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
856 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
857 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
858 system-dependent error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
859 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
860
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
861 @deftypefn {Built-in Function} {[@var{fid}, @var{msg}] =} dup2 (@var{old}, @var{new})
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
862 Duplicate a file descriptor.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
863
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
864 If successful, @var{fid} is greater than zero and contains the new file
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
865 ID. Otherwise, @var{fid} is negative and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
866 system-dependent error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
867 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
868
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
869 @deftypefn {Built-in Function} {[@var{pid}, @var{msg}] =} waitpid (@var{pid}, @var{options})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
870 Wait for process @var{pid} to terminate. The @var{pid} argument can be:
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
871
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
872 @table @asis
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
873 @item @minus{}1
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
874 Wait for any child process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
875
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
876 @item 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
877 Wait for any child process whose process group ID is equal to that of
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
878 the Octave interpreter process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
879
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
880 @item > 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
881 Wait for termination of the child process with ID @var{PID}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
882 @end table
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
883
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
884 The @var{options} argument can be:
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
885
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
886 @table @asis
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
887 @item 0
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
888 Wait until signal is received or a child process exits (this is the
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
889 default if the @var{options} argument is missing).
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
890
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
891 @item 1
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
892 Do not hang if status is not immediately available.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
893
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
894 @item 2
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
895 Report the status of any child processes that are stopped, and whose
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
896 status has not yet been reported since they stopped.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
897
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
898 @item 3
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
899 Implies both 1 and 2.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
900 @end table
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
901
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
902 If the returned value of @var{pid} is greater than 0, it is the process
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
903 ID of the child process that exited. If an error occurs, @var{pid} will
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
904 be less than zero and @var{msg} will contain a system-dependent error
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
905 message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
906 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
907
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
908 @deftypefn {Built-in Function} {[@var{err}, @var{msg}] =} fcntl (@var{fid}, @var{request}, @var{arg})
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
909 Change the properties of the open file @var{fid}. The following values
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
910 may be passed as @var{request}:
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
911
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
912 @vtable @code
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
913 @item F_DUPFD
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
914 Return a duplicate file descriptor.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
915
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
916 @item F_GETFD
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
917 Return the file descriptor flags for @var{fid}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
918
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
919 @item F_SETFD
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
920 Set the file descriptor flags for @var{fid}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
921
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
922 @item F_GETFL
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
923 Return the file status flags for @var{fid}. The following codes may be
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
924 returned (some of the flags may be undefined on some systems).
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
925
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
926 @vtable @code
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
927 @item O_RDONLY
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
928 Open for reading only.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
929
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
930 @item O_WRONLY
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
931 Open for writing only.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
932
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
933 @item O_RDWR
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
934 Open for reading and writing.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
935
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
936 @item O_APPEND
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
937 Append on each write.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
938
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
939 @item O_NONBLOCK
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
940 Nonblocking mode.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
941
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
942 @item O_SYNC
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
943 Wait for writes to complete.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
944
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
945 @item O_ASYNC
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
946 Asynchronous I/O.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
947 @end vtable
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
948
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
949 @item F_SETFL
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
950 Set the file status flags for @var{fid} to the value specified by
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
951 @var{arg}. The only flags that can be changed are @code{O_APPEND} and
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
952 @code{O_NONBLOCK}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
953 @end vtable
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
954
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
955 If successful, @var{err} is 0 and @var{msg} is an empty string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
956 Otherwise, @var{err} is nonzero and @var{msg} contains a
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
957 system-dependent error message.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
958 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
959
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
960 @node Process ID Information, Environment Variables, Controlling Subprocesses, System Utilities
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
961 @section Process, Group, and User IDs
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
962
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
963 @deftypefn {Built-in Function} {} getpgrp ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
964 Return the process group id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
965 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
966
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
967 @deftypefn {Built-in Function} {} getpid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
968 Return the process id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
969 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
970
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
971 @deftypefn {Built-in Function} {} getppid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
972 Return the process id of the parent process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
973 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
974
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
975 @deftypefn {Built-in Function} {} geteuid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
976 Return the effective user id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
977 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
978
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
979 @deftypefn {Built-in Function} {} getuid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
980 Return the real user id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
981 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
982
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
983 @deftypefn {Built-in Function} {} getegid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
984 Return the effective group id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
985 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
986
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
987 @deftypefn {Built-in Function} {} getgid ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
988 Return the real group id of the current process.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
989 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
990
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
991 @node Environment Variables, Current Working Directory, Process ID Information, System Utilities
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
992 @section Environment Variables
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
993
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
994 @deftypefn {Built-in Function} {} getenv (@var{var})
2768
ee9582e6668f [project @ 1997-03-01 03:12:36 by jwe]
jwe
parents: 2759
diff changeset
995 Return the value of the environment variable @var{var}. For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
996
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
997 @example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
998 getenv ("PATH")
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
999 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1000
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1001 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1002 returns a string containing the value of your path.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1003 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1004
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1005 @deftypefn {Built-in Function} {} putenv (@var{var}, @var{value})
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1006 Set the value of the environment variable @var{var} to @var{value}.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1007 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1008
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1009 @node Current Working Directory, Password Database Functions, Environment Variables, System Utilities
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1010 @section Current Working Directory
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1011
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1012 @deffn {Command} cd dir
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1013 @deffnx {Command} chdir dir
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1014 Change the current working directory to @var{dir}. For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1015
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1016 @example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1017 cd ~/octave
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1018 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1019
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1020 @noindent
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1021 Changes the current working directory to @file{~/octave}. If the
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1022 directory does not exist, an error message is printed and the working
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1023 directory is not changed.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1024 @end deffn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1025
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1026 @deftypefn {Built-in Function} {} pwd ()
2768
ee9582e6668f [project @ 1997-03-01 03:12:36 by jwe]
jwe
parents: 2759
diff changeset
1027 Return the current working directory.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1028 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1029
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1030 @defvr {Built-in Variable} PWD
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1031 The current working directory. The value of @code{PWD} is updated each
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1032 time the current working directory is changed with the @samp{cd}
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1033 command.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1034 @end defvr
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1035
2653
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
1036 @deffn {Command} ls options
e7908588548a [project @ 1997-02-01 16:53:52 by jwe]
jwe
parents: 2535
diff changeset
1037 @deffnx {Command} dir options
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1038 List directory contents. For example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1039
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1040 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1041 ls -l
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1042 @print{} total 12
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1043 @print{} -rw-r--r-- 1 jwe users 4488 Aug 19 04:02 foo.m
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1044 @print{} -rw-r--r-- 1 jwe users 1315 Aug 17 23:14 bar.m
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1045 @end example
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1046
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1047 The @code{dir} and @code{ls} commands are implemented by calling your
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1048 system's directory listing command, so the available options may vary
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1049 from system to system.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1050 @end deffn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1051
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1052 @node Password Database Functions, Group Database Functions, Current Working Directory, System Utilities
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1053 @section Password Database Functions
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1054
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1055 Octave's password database functions return information in a structure
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1056 with the following fields.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1057
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1058 @table @code
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1059 @item name
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1060 The user name.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1061
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1062 @item passwd
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1063 The encrypted password, if available.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1064
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1065 @item uid
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1066 The numeric user id.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1067
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1068 @item gid
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1069 The numeric group id.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1070
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1071 @item gecos
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1072 The GECOS field.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1073
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1074 @item dir
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1075 The home directory.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1076
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1077 @item shell
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1078 The initial shell.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1079 @end table
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1080
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1081 In the descriptions of the following functions, this data structure is
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1082 referred to as a @var{pw_struct}.
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1083
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1084 @deftypefn {Loadable Function} {@var{pw_struct} = } getpwent ()
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1085 Return a structure containing an entry from the password database,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1086 opening it if necessary. Once the end of the data has been reached,
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1087 @code{getpwent} returns 0.
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1088 @end deftypefn
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1089
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1090 @deftypefn {Loadable Function} {@var{pw_struct} = } getpwuid (@var{uid}).
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1091 Return a structure containing the first entry from the password database
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1092 with the user ID @var{uid}. If the user ID does not exist in the
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1093 database, @code{getpwuid} returns 0.
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1094 @end deftypefn
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1095
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1096 @deftypefn {Loadable Function} {@var{pw_struct} = } getpwnam (@var{name})
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1097 Return a structure containing the first entry from the password database
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1098 with the user name @var{name}. If the user name does not exist in the
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1099 database, @code{getpwname} returns 0.
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1100 @end deftypefn
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1101
2465
7ee42ff6536a [project @ 1996-11-03 08:54:14 by jwe]
jwe
parents: 2462
diff changeset
1102 @deftypefn {Loadable Function} {} setpwent ()
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1103 Return the internal pointer to the beginning of the password database.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1104 @end deftypefn
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1105
2465
7ee42ff6536a [project @ 1996-11-03 08:54:14 by jwe]
jwe
parents: 2462
diff changeset
1106 @deftypefn {Loadable Function} {} endpwent ()
2460
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1107 Close the password database.
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1108 @end deftypefn
4690fe4c0333 [project @ 1996-11-03 03:49:55 by jwe]
jwe
parents: 2449
diff changeset
1109
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1110 @node Group Database Functions, System Information, Password Database Functions, System Utilities
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1111 @section Group Database Functions
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1112
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1113 Octave's group database functions return information in a structure
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1114 with the following fields.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1115
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1116 @table @code
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1117 @item name
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1118 The user name.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1119
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1120 @item passwd
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1121 The encrypted password, if available.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1122
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1123 @item gid
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1124 The numeric group id.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1125
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1126 @item mem
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1127 The members of the group.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1128 @end table
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1129
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1130 In the descriptions of the following functions, this data structure is
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1131 referred to as a @var{grp_struct}.
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1132
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
1133 @deftypefn {Loadable Function} {@var{grp_struct} =} getgrent ()
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1134 Return an entry from the group database, opening it if necessary.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1135 Once the end of the data has been reached, @code{getgrent} returns 0.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1136 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1137
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
1138 @deftypefn {Loadable Function} {@var{grp_struct} =} getgrgid (@var{gid}).
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1139 Return the first entry from the group database with the group ID
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1140 @var{gid}. If the group ID does not exist in the database,
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1141 @code{getgrgid} returns 0.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1142 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1143
2759
99dd10f4eaaf [project @ 1997-02-27 08:59:55 by jwe]
jwe
parents: 2701
diff changeset
1144 @deftypefn {Loadable Function} {@var{grp_struct} =} getgrnam (@var{name})
2475
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1145 Return the first entry from the group database with the group name
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1146 @var{name}. If the group name does not exist in the database,
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1147 @code{getgrname} returns 0.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1148 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1149
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1150 @deftypefn {Loadable Function} {} setgrent ()
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1151 Return the internal pointer to the beginning of the group database.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1152 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1153
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1154 @deftypefn {Loadable Function} {} endgrent ()
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1155 Close the group database.
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1156 @end deftypefn
1d7925d6bede [project @ 1996-11-07 04:36:00 by jwe]
jwe
parents: 2469
diff changeset
1157
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1158 @node System Information, , Group Database Functions, System Utilities
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1159 @section System Information
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1160
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1161 @deftypefn {Built-in Function} {} computer ()
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1162 Print or return a string of the form @var{cpu}-@var{vendor}-@var{os}
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1163 that identifies the kind of computer Octave is running on. If invoked
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1164 with an output argument, the value is returned instead of printed. For
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1165 example,
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1166
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1167 @example
2689
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1168 @group
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1169 computer ()
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1170 @print{} i586-pc-linux-gnu
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1171
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1172 x = computer ()
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1173 @result{} x = "i586-pc-linux-gnu"
8c7955a8d49f [project @ 1997-02-18 09:06:10 by jwe]
jwe
parents: 2670
diff changeset
1174 @end group
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1175 @end example
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1176 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1177
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1178 @deftypefn {Built-in Function} {} isieee ()
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1179 Return 1 if your computer claims to conform to the IEEE standard for
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1180 floating point calculations.
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1181 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1182
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1183 @deftypefn {Built-in Function} {} version ()
2768
ee9582e6668f [project @ 1997-03-01 03:12:36 by jwe]
jwe
parents: 2759
diff changeset
1184 Return Octave's version number as a string. This is also the value of
2670
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1185 the built-in variable @code{OCTAVE_VERSION}.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1186 @end deftypefn
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1187
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1188 @defvr {Built-in Variable} OCTAVE_VERSION
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1189 The version number of Octave, as a string.
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1190 @end defvr
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1191
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1192 @deftypefn {Built-in Function} {} octave_config_info ()
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1193 Return a structure containing configuration and installation
18192eea4973 [project @ 1997-02-13 18:29:53 by jwe]
jwe
parents: 2653
diff changeset
1194 information.
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1195 @end deftypefn
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1196
2465
7ee42ff6536a [project @ 1996-11-03 08:54:14 by jwe]
jwe
parents: 2462
diff changeset
1197 @deftypefn {Loadable Function} {} getrusage ()
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1198 Return a structure containing a number of statistics about the current
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1199 Octave process. Not all fields are available on all systems. If it is
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1200 not possible to get CPU time statistics, the CPU time slots are set to
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1201 zero. Other missing data are replaced by NaN. Here is a list of all
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1202 the possible fields that can be present in the structure returned by
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1203 @code{getrusage}:
2333
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1204
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1205 @table @code
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1206 @item
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1207 @item idrss
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1208 Unshared data size.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1209
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1210 @item inblock
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1211 Number of block input operations.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1212
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1213 @item isrss
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1214 Unshared stack size.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1215
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1216 @item ixrss
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1217 Shared memory size.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1218
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1219 @item majflt
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1220 Number of major page faults.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1221
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1222 @item maxrss
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1223 Maximum data size.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1224
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1225 @item minflt
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1226 Number of minor page faults.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1227
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1228 @item msgrcv
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1229 Number of messages received.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1230
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1231 @item msgsnd
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1232 Number of messages sent.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1233
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1234 @item nivcsw
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1235 Number of involuntary context switches.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1236
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1237 @item nsignals
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1238 Number of signals received.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1239
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1240 @item nswap
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1241 Number of swaps.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1242
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1243 @item nvcsw
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1244 Number of voluntary context switches.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1245
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1246 @item oublock
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1247 Number of block output operations.
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1248
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1249 @item stime
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1250 A structure containing the system CPU time used. The structure has the
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1251 elements @code{sec} (seconds) @code{usec} (microseconds).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1252
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1253 @item utime
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1254 A structure containing the user CPU time used. The structure has the
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1255 elements @code{sec} (seconds) @code{usec} (microseconds).
b1a56412c385 [project @ 1996-07-19 02:20:16 by jwe]
jwe
parents:
diff changeset
1256 @end table
2449
31d5588dbb61 [project @ 1996-10-30 22:58:44 by jwe]
jwe
parents: 2333
diff changeset
1257 @end deftypefn