[systemd-devel] Timeout for 'Activating (start)' status

Lennart Poettering lennart at poettering.net
Tue Jul 11 10:49:47 UTC 2017


On Thu, 06.07.17 16:43, Mikhail Kasimov (mikhail.kasimov at gmail.com) wrote:

> Hello!
> 
> 've got an interesting trouble on timer-activated service -- 'systemctl
> status' returns a log with 'Activating (start)' status:
> 
> [1]
> ==========
> k_mikhail at linux-mk500:~> systemctl status vba32update.service
> ● vba32update.service - VBA32 Anti-Virus Update Service
>    Loaded: loaded (/etc/systemd/system/vba32update.service; disabled;
> vendor preset: disabled)
>    Active: activating (start) since Чтв 2017-07-06 15:32:35 EEST; 35min ago
>  Main PID: 6214 (vbaupdx)
>     Tasks: 1 (limit: 512)
>    CGroup: /system.slice/vba32update.service
>            └─6214 ./vbaupdx http://anti-virus.by/beta/update
> 
> Июл 06 15:32:35 linux-mk500 systemd[1]: Starting VBA32 Anti-Virus Update
> Service...
> Июл 06 15:32:35 linux-mk500 vbacl[6214]: Vba32 console scanner update
> process started
> Июл 06 15:32:35 linux-mk500 vbacl[6214]: Reading configuration options
> from ./vbacl.ini
> Июл 06 15:32:35 linux-mk500 vbacl[6214]: Using direct connection for update
> k_mikhail at linux-mk500:~>
> ==========
> 
> 
> Simultaneously:
> [2]
> ==========
> k_mikhail at linux-mk500:~> systemctl list-units -t timer
> UNIT                         LOAD   ACTIVE SUB     DESCRIPTION
> vba32update.timer            loaded active running Runs VBA32 Update Hourly
> ==========
> 
> And that is normal. But 35 minutes for activating service is too long,
> as for me.

Well, process 6214 is still around as you can see above, and since you
appear to have set Type=oneshot, that's really the right behaviour:
the unit will be starting until process 6214 decides. if 35min is too
long for that process, then this indicates that something is wrong in
that process, and systemd is just the messenger.

If you want to place a timeout on starting use TimeoutStartSec= and
set it to whatever you like. If the timeout is then hit, systemd will
abort the process and log about this and place the service in a failed
state.

But systemd is not a magic wand that can make hanging processes
suddenly work...

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list