deron.meranda at gmail.com
Fri Nov 18 21:03:15 UTC 2011
On Fri, Nov 18, 2011 at 3:16 PM, Tom Horsley <horsley1953 at 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 at 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 at zooty ~]# grep pcscd /lib/systemd/system/*.service
> /lib/systemd/system/pcscd.service:ExecStart=/usr/sbin/pcscd -f
> /lib/systemd/system/pcscd.service:ExecReload=/usr/sbin/pcscd -H
> 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-systemd.html
More information about the users