1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/sh -e
- #
- # users: print the number of remote users on the machine
- #
- # Copyright (C) 2009 Raphaël Pinson.
- # Copyright (C) 2009 Canonical Ltd.
- # Copyright (C) 2011-2014 Dustin Kirkland
- #
- # Authors: Raphaël Pinson <raphink@ubuntu.com>
- # Dustin Kirkland <kirkland@byobu.org>
- #
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation, version 3 of the License.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- __users_detail() {
- ps -ef 2>/dev/null | grep "sshd:.*@" | grep -v grep
- }
- __users() {
- local count=0
- if [ "$USERS_DISTINCT" = "1" ]; then
- count=$(pgrep -fl 'sshd:.*@' | cut -f3 -d\ | cut -f1 -d@ | sort -u | wc -l)
- else
- # Note: we'd like to use pgrep -c, however, this isn't available in
- # busybox and some distro's pgrep (and it doesn't exit non-zero).
- count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return
- fi
- if [ $count -gt 0 ]; then
- color b w r; printf "%d" "$count"; color -; color w r; printf "##"; color --
- else
- rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/users"*
- fi
- }
- # vi: syntax=sh ts=4 noexpandtab
|