Go to file
Karel Zak 2e7a922701 script: support sig{stop/cont}
* call wait() only when child exited
* suspend all session (including script master process) when child get
  SIGSTOP and send SIGCONT to child when master process resume

This allows to suspend all session and later use "fg" shell command to
resume.

$ ps af
14722 pts/1    Ss     0:00 bash
 4870 pts/1    S+     0:00  \_ ./script
 4871 pts/6    Ss+    0:00      \_ bash -i

$ kill -SIGSTOP 4871

and script session on another terminal:

$ script
Script started, file is typescript
$ 
[1]+  Stopped                 ./script

$ fg 1
./script

... session again usable ...
^D
Script done, file is typescript

Signed-off-by: Karel Zak <kzak@redhat.com>
2017-09-08 09:48:29 +02:00
Documentation Merge branch 'rfkill' of git://github.com/kerolasa/lelux-utiliteetit into rfkill 2017-08-31 09:56:18 +02:00
bash-completion rfkill: add bash-completion file 2017-08-30 20:32:49 +01:00
config build-sys: inform gtk-doc about __ul_attribute__ 2013-03-15 14:58:08 +01:00
disk-utils misc: replace magic number 37 with UUID_STR_LEN 2017-09-05 11:49:21 +02:00
include hwclock: update usage() 2017-09-05 12:33:19 +02:00
lib libuuid: add support for hash-based UUIDs 2017-09-05 11:26:39 +02:00
libblkid misc: replace magic number 37 with UUID_STR_LEN 2017-09-05 11:49:21 +02:00
libfdisk misc: replace magic number 37 with UUID_STR_LEN 2017-09-05 11:49:21 +02:00
libmount build-sys: don't use non-existing UUID_LIBS 2017-07-18 11:06:53 +02:00
libsmartcols libsmartcols: fix comment (to make gtk-docs happy) 2017-07-31 13:33:11 +02:00
libuuid misc: replace magic number 37 with UUID_STR_LEN 2017-09-05 11:49:21 +02:00
login-utils chsh: remove local /etc/shells parsing in favour of getusershell(3) 2017-08-30 11:21:59 +02:00
m4 build-sys: prefer ncurses-config rather than pkg-config 2017-05-31 10:54:21 +02:00
misc-utils lsblk: small man page change in return codes description 2017-09-07 10:03:18 +02:00
po po: merge changes 2017-06-02 11:30:19 +02:00
schedutils misc: consolidate macro style USAGE_HELP_OPTIONS 2017-06-29 16:54:33 +02:00
sys-utils hwclock: add -a that is short of --adjust to manual page and usage 2017-09-05 14:34:53 +02:00
term-utils script: support sig{stop/cont} 2017-09-08 09:48:29 +02:00
tests uuidgen: add support for hash-based UUIDs 2017-09-05 11:56:24 +02:00
text-utils column: (-t) disable encoding for non-printable chars 2017-07-31 11:48:38 +02:00
tools tools: add segfault detection for checkusage.sh 2017-06-29 14:04:29 +02:00
.editorconfig add .editorconfig 2016-01-25 00:12:14 +01:00
.gitignore rfkill: make command to build in util-linux project 2017-08-30 20:32:48 +01:00
.travis-functions.sh travis: add make checkusage 2017-06-27 08:25:30 +02:00
.travis.yml travis: minor cosmetics 2017-06-15 09:13:14 +02:00
AUTHORS rfkill: move files to appropriate locations 2017-08-30 20:32:48 +01:00
COPYING docs: corrections to FSF license files, and postal address 2012-02-24 14:13:35 +01:00
ChangeLog build-sys: use AUTOMAKE_OPTIONS = gnu 2011-05-26 15:04:01 +02:00
Makefile.am build: use --runstatedir instead of --localstatedir 2017-07-31 15:24:46 +02:00
NEWS build-sys: release++ (v2.30) 2017-06-02 12:22:29 +02:00
README docs: add information about mailing list rejection 2017-06-01 19:42:21 -04:00
README.licensing COPYING: fix grammar of referring phrase, and indicate location better 2013-10-08 15:38:39 +02:00
autogen.sh build-sys: add parse-date.y 2017-03-04 11:01:56 -05:00
configure.ac build-sys: add --disable-rfkill 2017-08-31 11:40:51 +02:00
util-linux.doap docs: replace FTP by HTTPS in kernel.org URLs 2016-12-19 11:22:26 +01:00

README

				  util-linux

		util-linux is a random collection of Linux utilities

     Note: for the years 2006-2010 this project was named "util-linux-ng".

MAILING LIST:

      E-MAIL: util-linux@vger.kernel.org
      URL:    http://vger.kernel.org/vger-lists.html#util-linux

      The mailing list will reject email messages that contain:
       - more than 100K characters
       - html
       - spam phrases/keywords
      See: http://vger.kernel.org/majordomo-info.html#taboo

IRC CHANNEL:

      #util-linux at freenode.net:

      irc://chat.freenode.net/util-linux

      The IRC channel and Mailing list are for developers and project
      maintainers. For end users it is recommended to utilize the
      distribution's support system.

BUG REPORTING:

      E-MAIL: util-linux@vger.kernel.org
      Web:    https://github.com/karelzak/util-linux/issues

      This project has no resources to provide support for distribution specific
      issues. For end users it is recommended to utilize the distribution's
      support system.

NLS (PO TRANSLATIONS):

      PO files are maintained by:
	  http://translationproject.org/domain/util-linux.html

VERSION SCHEMA:

      Standard releases:
	  <major>.<minor>[.<maint>]
	     major = fatal and deep changes
	     minor = typical release with new features
	     maint = maintenance releases; bug fixes only

      Development releases:
	 <major>.<minor>-rc<N>

SOURCE CODE:

 Download archive:
	  https://www.kernel.org/pub/linux/utils/util-linux/

 SCM (Source Code Management) Repository:

    Primary repository:
	  git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git

    Backup repository:
	  git clone git://github.com/karelzak/util-linux.git

    Web interfaces:
	  http://git.kernel.org/cgit/utils/util-linux/util-linux.git
	  https://github.com/karelzak/util-linux

      Note: the GitHub repository may contain temporary development branches too.

      The kernel.org repository contains master (current development) and stable/*
      (maintenance) branches only. All master or stable/* changes are always pushed
      to both repositories at the same time.

    Repository Branches: 'git branch -a'
	  master branch
	   - current development
	   - the source for stable releases when deemed ready.
	   - day-to-day status is: 'it works for me'. This means that its
	     normal state is useful but not well tested.
	   - long-term development or invasive changes in active development are
	     forked into separate 'topic' branches from the tip of 'master'.

	  stable/ branches
	   - public releases
	   - branch name: stable/v<major>.<minor>.
	   - created from the 'master' branch after two or more release
	     candidates and the final public release. This means that the stable
	     releases are committed, tagged, and reachable in 'master'.
	   - these branches then become forked development branches. This means
	     that any changes made to them diverge from the 'master' branch.
	   - maintenance releases are part of, and belong to, their respective
	     stable branch. As such, they are tags(<major>.<minor>.<maint>) and
	     not branches of their own. They are not part of, visible in, or
	     have anything to do with the 'master' development branch. In git
	     terminology: maintenance releases are not reachable from 'master'.
	   - when initially cloned (as with the 'git clone' command given above)
	     these branches are created as 'remote tracking branches' and are
	     only visible by using the -a or -r options to 'git branch'. To
	     create a local branch use the desired tag with this command:
	     'git checkout -b v2.29.2 v2.29.2'

    Tags: 'git tag'
	   - a new tag object is created for every release.
	   - tag name: v<version>.
	   - all tags are signed by the maintainer's PGP key.

    Known Bugs:
	- don't use tag v2.13.1 (created and published by mistake),
	  use v2.13.1-REAL instead.

WORKFLOW EXAMPLE:

 1) development (branch: <master>)

 2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)

 3) development (work on v2.30, branch: <master>)

 4) fork -- create a new branch <stable/v2.29> based on tag v2.29

     4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)

     4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)

     4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)

 5) master release v2.30 (branch: <master>)
    ...

where 3) and 4) happen simultaneously.