Серийный номер?
Я видел, что эта тема уже поднималась, однако рассмотрю ее под другим углом:
Предположим, что существует необходимость реагировать на события токен вставлен/удален. Для этого есть специальные утилиты – card-eventmgr (имеет статус «будет выпилен») и актуальный pkcs11-eventmgr. Обе *не* работают, причем по-разному и достаточно запутанным образом (в частности, событие «токен удален» у pkcs11-eventmgr может произойти и через несколько минут). Кроме того, есть и другой аспект вопроса, который этими утилитами *не* решается.
С другой стороны, более прямым и надежным способом является использование правил udev, то есть RUN, однако тут не все просто:
This can only be used for very short-running foreground tasks.
Running an event process for a long period of time may block all
further events for this or a dependent device.
Starting daemons or other long running processes is not appropriate for udev
*the forked processes, detached or not, will be unconditionally killed*
after the event handling has finished.
Исходя из этого, синхронный опрос, к примеру, opensc-tool -l это выстрел себе в ногу. Кроме того, для этого требуется запущенный pcscd. Ну и о «другом аспекте»: токенов может быть более одного, поэтому задача определения, с каким именно устройством произошло событие, достаточно непроста (требуется сравнение со списком активных токенов на момент предшествующего события). И ЕМНИП, *-eventmgr на «много_токенов» тоже изначально не рассчитаны.
Реализация подобного юзкейса была бы куда проще, если бы серийный номер был бы доступен как ATTR{serial}.