#### 14.1.3.1 Saving Data on Unexpected Exits ¶

If Octave for some reason exits unexpectedly it will by default save the variables available in the workspace to a file in the current directory. By default this file is named ‘`octave-workspace`’ and can be loaded into memory with the `load` command. While the default behavior most often is reasonable it can be changed through the following functions.

`val =` crash_dumps_octave_core `()` ¶
`old_val =` crash_dumps_octave_core `(new_val)` ¶
`old_val =` crash_dumps_octave_core `(new_val, "local")` ¶

  Query or set the internal variable that controls whether Octave tries to save all current variables to the file `octave-workspace` if it crashes or receives a hangup, terminate or similar signal.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: octave_core_file_limit, octave_core_file_name, octave_core_file_options.

`val =` sighup_dumps_octave_core `()` ¶
`old_val =` sighup_dumps_octave_core `(new_val)` ¶
`old_val =` sighup_dumps_octave_core `(new_val, "local")` ¶

  Query or set the internal variable that controls whether Octave tries to save all current variables to the file `octave-workspace` if it receives a hangup signal.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

`val =` sigquit_dumps_octave_core `()` ¶
`old_val =` sigquit_dumps_octave_core `(new_val)` ¶
`old_val =` sigquit_dumps_octave_core `(new_val, "local")` ¶

  Query or set the internal variable that controls whether Octave tries to save all current variables to the file `octave-workspace` if it receives a quit signal.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

`val =` sigterm_dumps_octave_core `()` ¶
`old_val =` sigterm_dumps_octave_core `(new_val)` ¶
`old_val =` sigterm_dumps_octave_core `(new_val, "local")` ¶

  Query or set the internal variable that controls whether Octave tries to save all current variables to the file `octave-workspace` if it receives a terminate signal.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

`val =` octave_core_file_options `()` ¶
`old_val =` octave_core_file_options `(new_val)` ¶
`old_val =` octave_core_file_options `(new_val, "local")` ¶

  Query or set the internal variable that specifies the options used for saving the workspace data if Octave aborts.

  The value of `octave_core_file_options` should follow the same format as the options for the `save` function. The default value is Octave’s binary format.

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: crash_dumps_octave_core, octave_core_file_name, octave_core_file_limit.

`val =` octave_core_file_limit `()` ¶
`old_val =` octave_core_file_limit `(new_val)` ¶
`old_val =` octave_core_file_limit `(new_val, "local")` ¶

  Query or set the internal variable that specifies the maximum amount of memory that Octave will save when writing a crash dump file.

  The limit is measured in kilobytes and is applied to the top-level workspace. The name of the crash dump file is specified by octave_core_file_name.

  If octave_core_file_options flags specify a binary format, then octave_core_file_limit will be approximately the maximum size of the file. If a text file format is used, then the file could be much larger than the limit. The default value is -1 (unlimited).

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: crash_dumps_octave_core, octave_core_file_name, octave_core_file_options.

`val =` octave_core_file_name `()` ¶
`old_val =` octave_core_file_name `(new_val)` ¶
`old_val =` octave_core_file_name `(new_val, "local")` ¶

  Query or set the internal variable that specifies the name of the file used for saving data from the top-level workspace if Octave aborts.

  The default value is `"octave-workspace"`

  When called from inside a function with the `"local"` option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function.

  See also: crash_dumps_octave_core, octave_core_file_name, octave_core_file_options.