On Fri, Nov 18, 2011 at 3:16 PM, Tom Horsley <horsley1953(a)gmail.com> wrote:
On Fri, 18 Nov 2011 15:02:11 -0500
Deron Meranda wrote:
> systemctl status pcscd.service
>
> grep pcscd /lib/systemd/system/*.service
>
>
> Does that work, or are you asking something more?
[root@zooty ~]# systemctl status pcscd.service
pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/lib/systemd/system/pcscd.service; disabled)
Active: active (running) since Fri, 18 Nov 2011 04:02:03 -0500; 11h ago
Main PID: 9613 (pcscd)
CGroup: name=systemd:/system/pcscd.service
â 9613 /usr/sbin/pcscd -f
That tells me it is running despite being disabled.
[root@zooty ~]# grep pcscd /lib/systemd/system/*.service
/lib/systemd/system/pcscd.service:Requires=pcscd.socket
/lib/systemd/system/pcscd.service:ExecStart=/usr/sbin/pcscd -f
/lib/systemd/system/pcscd.service:ExecReload=/usr/sbin/pcscd -H
/lib/systemd/system/pcscd.service:Also=pcscd.socket
That tells me no other service asks for it to be started
(directly, anyway).
So, I'm still wondering why the heck it is running.
Good question. I'm neither a systemd or pcscd expert.
But from what I can tell, pcscd is started by a "trigger", rather than
by a "runlevel". What happens is that systemd creates a Unix-domain
socket for pcscd to eventually communicate with applications which use
it. But the pcscd daemon process itself is not started right away.
Instead systemd detects when an application attempts to connect to
that Unix-domain socket, and at that time will start the pcscd
process, passing it the socket descriptor. So in effect pcscd is
started only when it is needed by an application. I can't tell you
want that application is though.
The creation of the socket and the launching of the daemon are two
separate systemd units:
systemctl status pcscd.socket
systemctl status pcscd.service
Also see
http://ludovicrousseau.blogspot.com/2011/11/pcscd-auto-start-using-system...
--
Deron Meranda
http://deron.meranda.us/