Это то, что я сделал.Не требуется разветвление или файл pid, его можно запустить от имени пользователя sybase. ExecStop не требуется, если вас устраивает остановка сервера данных с помощью команды kill.
файл модуля ... / etc / systemd / system / sybase-srvnane
Добавьте отдельный файл модуля для каждого сервера sybase.
[Unit] Description=Sybase dataserver [Service] User=sybase ExecStart=/home/sybase/bin/run-dataserver SRVNAME ExecStop=/home/sybase/bin/stop-dataserver SRVNAME [Install] WantedBy=multi-user.target
сценарий запуска ... / home / sybase / bin / run-dataserver
#!/bin/sh [ $# -ne 1 ] && echo "Usage: $0 <SYB_SERVER>" && exit 1 _server=${1} . /opt/sybase/SYBASE.sh _run_file=${SYBROOT}/${SYBASE_ASE}/install/RUN_${_server} if [ -x ${_run_file} ] then echo "Starting Sybase server ... ${_server}" . ${_run_file} else echo "Cannot find run file ${_run_server}" exit 1 fi
сценарий остановки ... / home / sybase / bin / stop-dataserver
#!/bin/bash [ $# -ne 1 ] && echo "Usage: $0 <SYB_SERVER>" && exit 1 _server=${1} . /opt/sybase/SYBASE.sh _isql=${SYBROOT}/${SYBASE_OCS}/bin/isql if [ -x ${_isql} ] then echo "Stopping Sybase server .... ${_server}" ${_isql} -U sa -S ${_server} << EOF $( cat /home/sybase/.sa_password ) shutdown go EOF fi
Для полноты картины у меня также есть остановка для резервного сервера. .. / home / sybase / bin / start-backup-dataserver
#!/bin/bash [ $# -ne 1 ] && echo "Usage: $0 <SYB_SERVER>" && exit 1 _server=${1} . /opt/sybase/SYBASE.sh _isql=${SYBROOT}/${SYBASE_OCS}/bin/isql if [ -x ${_isql} ] then echo "Stopping Sybase backup server .... ${_server}" ${_isql} -U sa -S ${_server} << EOF $( cat /home/sybase/.sa_password ) shutdown SYB_BACKUP go EOF fi
У меня есть пользовательский файл /home/sybase/.sa_password, доступный только для чтения, в качестве пароля.
sudo systemctl daemon-reload
и все готово.
Показанные значения представляют собой 16-битные -режимы файлов , сохраненные Git в соответствии со структурой типов и режимов POSIX:
32-bit mode, split into (high to low bits)
4-bit object type
valid values in binary are 1000 (regular file), 1010 (symbolic link)
and 1110 (gitlink)
3-bit unused
9-bit unix permission. Only 0755 and 0644 are valid for regular files.
Symbolic links and gitlinks have value 0 in this field.
В этом файле не упоминаются каталоги; они представлены с использованием типа объекта 0100.
Каждая цифра в шестизначном -значении является восьмеричной, представляя три бита; Таким образом, для 16 бит требуется шесть цифр, первая из которых представляет только один бит :
.Type|---|Perm bits
1000 000 111101101
1 0 0 7 5 5
1000 000 110100100
1 0 0 6 4 4
Git не хранит произвольные режимы, разрешено только подмножество значений из обычных типов и режимов POSIX (в восьмеричном формате, 12 для символической ссылки, 10 для обычного файла, 04 для каталога ), к которому git добавляет 16 для ссылок Git. Режим добавляется с использованием четырех восьмеричных цифр. Для файлов вы увидите только 100755 или 100644 (, хотя технически возможно и 100664 ); каталоги 040000 (разрешения игнорируются ), символические ссылки 120000. Набор -идентификатор пользователя -, набор -идентификатор группы -и липкие биты вообще не поддерживаются (они будут храниться в неиспользуемых битах ).
См. также этот связанный ответ .
Традиционно файловые системы Unix использовали 16 бит для хранения типа в 4 битах (, например. обычный файл, каталог, символьное специальное устройство... )9 бит прав доступа пользователя/группы/других, липкий бит, бит SUID и бит SGID.
Вы видите это в восьмеричном виде, поэтому крайние правые 5 цифр могут иметь значения 0 -7 (, представляющие 3 бита, всего 15 ), а левая цифра — 0 или 1 для последнего бита..
В системе Linuxman -s 7 inode
(т. е. inode (7))должен сообщить вам об этом в разделе типа файла и режима.