W dniu 29 marca 2011 21:15 użytkownik Michał Piotrowski <[email protected]> napisał: > W dniu 29 marca 2011 21:07 użytkownik Lennart Poettering > <[email protected]> napisał: >> On Tue, 29.03.11 21:06, Michał Piotrowski ([email protected]) wrote: >> >>> >> [Install] >>> >> WantedBy=multi-user.target >>> >> >>> >> It works well until I add >>> >> ExecStop=/bin/bash -c "for module in $HWMON_MODULES $BUS_MODULES; do >>> >> /sbin/modprobe -r $module >/dev/null 2>&1; done" >>> >> >>> >> Is there some magical way in which I can make a simple loop in >>> >> ExecStop? >>> > >>> > Hmm, are you suggesting that this works in ExecStart but not in >>> > ExecStop? That would be a bug. >>> >>> I tried >>> ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES >>> too and also does not work. >> >> What precisely fails? Is the command line not properly constructed? Do >> you have any further hints? > > Hmm... strange > > loaded modules > > Module Size Used by > ecryptfs 86341 1 > i2c_i801 9213 0 > serio_raw 4426 0 > iTCO_wdt 11480 0 > iTCO_vendor_support 2634 1 iTCO_wdt > r8169 35525 0 > mii 4318 1 r8169 > ipv6 282007 77 > sata_sil 8104 0 > i915 346255 0 > drm_kms_helper 27243 1 i915 > drm 187712 2 i915,drm_kms_helper > i2c_algo_bit 4950 1 i915 > i2c_core 25468 5 i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit > video 12432 1 i915 > > > I start this script > > [Unit] > Description=lm_sensors for monitoring motherboard sensor values > After=syslog.target > > [Service] > EnvironmentFile=/etc/sysconfig/lm_sensors > Type=oneshot > ExecStart=-/sbin/modprobe -qab $BUS_MODULES $HWMON_MODULES > ExecStart=/usr/bin/sensors -s > #ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES > > [Install] > WantedBy=multi-user.target > > Now I've got > > Module Size Used by > smsc47m192 12267 0 > hwmon_vid 2171 1 smsc47m192 > coretemp 5771 0 > ecryptfs 86341 1 > i2c_i801 9213 0 > serio_raw 4426 0 > iTCO_wdt 11480 0 > iTCO_vendor_support 2634 1 iTCO_wdt > r8169 35525 0 > mii 4318 1 r8169 > ipv6 282007 77 > sata_sil 8104 0 > i915 346255 0 > drm_kms_helper 27243 1 i915 > drm 187712 2 i915,drm_kms_helper > i2c_algo_bit 4950 1 i915 > i2c_core 25468 6 > smsc47m192,i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit > video 12432 1 i915 > > as you can see smsc47m192 is loaded > > I uncomment > ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES > > and run > systemctl daemon-reload > and > systemctl stop lm_sensors.service > > I still have smsc47m192 loaded but when I do > > systemctl start lm_sensors.service > > module is unloaded > > Module Size Used by > ecryptfs 86341 1 > i2c_i801 9213 0 > serio_raw 4426 0 > iTCO_wdt 11480 0 > iTCO_vendor_support 2634 1 iTCO_wdt > r8169 35525 0 > mii 4318 1 r8169 > ipv6 282007 77 > sata_sil 8104 0 > i915 346255 0 > drm_kms_helper 27243 1 i915 > drm 187712 2 i915,drm_kms_helper > i2c_algo_bit 4950 1 i915 > i2c_core 25468 5 i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit > video 12432 1 i915
I added RemainAfterExit=yes and now service behaves as expected. -- Best regards, Michal http://eventhorizon.pl/ _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
