Under some circumstances for debugging purposes it may be helfpfull to
know the PID used during startup as well. Just noted that this one is
only listen in forked mode.
Samba does fork with type=notify as well but systemd is waiting for
sd_notify message in that mode.
Anyway, for curiosity i recompiled samba with --without-systemd.
If i use type=notify mode now and no PIDFile, systemctl start
samba-ad-dc does not start samba but it shows the starte PID. There is
an leftover samba process running whom can be killed with -9.
root at dc1:/srv/packages/jessie# systemctl status samba-ad-dc
● samba-ad-dc.service - Samba AD Daemon
Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; enabled)
Active: inactive (dead) since Wed 2016-07-13 17:44:08 CEST; 30s ago
Docs: man:samba(8)
man:samba(7)
man:smb.conf(5)
Process: 11641 ExecStart=/usr/sbin/samba $SAMBAOPTIONS (code=exited,
status=0/SUCCESS)
Main PID: 11641 (code=exited, status=0/SUCCESS)
With an proper PIDFile line, samba starts but systemctl start
samba-ad-dc must be CTRL-C'ed. No starter PID is shown. Samba itself works.
● samba-ad-dc.service - Samba AD Daemon
Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; enabled)
Active: activating (start) since Wed 2016-07-13 17:46:05 CEST; 1min
25s ago
Docs: man:samba(8)
man:samba(7)
man:smb.conf(5)
Main PID: 11812 (samba)
CGroup: /system.slice/samba-ad-dc.service
├─11812 /usr/sbin/samba
├─11813 /usr/sbin/samba
├─11814 /usr/sbin/samba
├─11815 /usr/sbin/smbd -D --option=server role
check:inhibit=yes --foreground
├─11816 /usr/sbin/samba
├─11817 /usr/sbin/samba
├─11818 /usr/sbin/samba
├─11819 /usr/sbin/samba
├─11820 /usr/sbin/samba
├─11821 /usr/sbin/samba
├─11822 /usr/sbin/samba
├─11823 /usr/sbin/samba
├─11824 /usr/sbin/winbindd -D --option=server role
check:inhibit=yes --foreground
├─11825 /usr/sbin/samba
├─11826 /usr/sbin/samba
├─11829 /usr/sbin/smbd -D --option=server role
check:inhibit=yes --foreground
├─11830 /usr/sbin/smbd -D --option=server role
check:inhibit=yes --foreground
├─11832 /usr/sbin/smbd -D --option=server role
check:inhibit=yes --foreground
└─11834 /usr/sbin/winbindd -D --option=server role
check:inhibit=yes --foreground
Forked mode works like it did with --with-systemd.
So if samba(-ad-dc).service does not start with type=notify, it must be
build with --with-systemd.
If system-ctl start samba(-ad-dc) must be killed with CTRL-D can be
caused by type=forked and wrong PIDFile or by type=notify with the
correct PIDFile but no systemd support compiled in. :-)
Am 13.07.2016 um 15:27 schrieb Reindl Harald:>
>
> Am 13.07.2016 um 15:19 schrieb Achim Gottinger:
>> Am 13.07.2016 um 12:09 schrieb Reindl Harald:
>>> Main PID: 8749 (samba)
>>>
>> Was talking about "Process 8590" whom invokes 8591 and exitst
>> afterwards.
>> This one is only listed on forked mode status
>
> what else do you expect than not forked mode?
> the only interesting for systemd is the main-pid in any mode
>
> http://stackoverflow.com/questions/10932592/why-fork-twice
> http://code.activestate.com/recipes/66012-fork-a-daemon-process-on-unix/
>
>
>