Hi Harke,

I am hoping to build up some good will to get an answer to my question, so
let me see if I can pitch in. Plus I wanted to get a systemd service
working anyway, which I did successfully this morning. Here are the steps I
took.

1) Create the application. I wrote a stupid python program:

#!/bin/env python
import sys
print('It ran once.')
sys.exit(0)

2) Create the service file
 - Two ways to do this. First you can create a file in
/etc/systemd/system/test.service (or whatever name you like) and edit it
manually. Or you can run systemctl edit --force test.service to do the same
thing.
 - The file shall have 644 permissions, root:root owner.
 - Paste the following simple service file

[Unit]
Description=Test

[Service]
ExecStart=/usr/bin/python /home/debian/test.py

[Install]
WantedBy=multi-user.target

3. Enable the service file. Run:  systemctl enable test
  - Response will be:  Created symlink
/etc/systemd/system/multi-user.target.wants/test.service →
/etc/systemd/system/test.service.

4. Check status. Run:  systemctl status test
  - Response should be:
● test.service - Test
   Loaded: loaded (/etc/systemd/system/test.service; enabled; vendor
preset: enabled)
   Active: inactive (dead) since Mon 2018-12-03 14:18:33 UTC; 1s ago
  Process: 2853 ExecStart=/usr/bin/python /home/debian/test.py
(code=exited, status=0/SUCCESS)
 Main PID: 2853 (code=exited, status=0/SUCCESS)

Dec 03 14:18:33 beaglebone systemd[1]: Started Test.
Dec 03 14:18:33 beaglebone python[2853]: It ran once.


5. Now that you have something stupid working, change the files and
increase level of complexity. Replace my idiotic test.py program with your
real one. In editing the service file ensure you use absolute path. Update
the test.service script and make sure that you run:  systemctl
daemon-reload   whenever you change the service files.

Hope that helps. It worked for me.

Best,

Jim

On Mon, Dec 3, 2018 at 7:28 AM Harke Smits <yrra...@gmail.com> wrote:

> Thank you for your support Seth! I do not think I am running anything
> special. Just one Python script, 400 lines of my code, many thousends in
> libs, I guess. From QTerminal command line it runs perfectly. From within a
> service not.
> Looking at your proposal: do you really intend to write: ExecStart=
> /path/myprog.py instead of: ExecStart=python /path/myprog.py????
> That wonders me.
>  I "sudo nano" the service file and then write it in the
> /etc/systemd/system/ folder. Nothing else I do.
> Is that sufficient?
> Thanks a lot again.
> Regards,
> Harke
>
>
>
>
> On Mon, 3 Dec 2018 at 05:17, Mala Dies <fun...@gmail.com> wrote:
>
>> Hello Harke,
>>
>> Seth here. Um, are you trying to run a specific piece of software only or
>> are you trying to run multiple pieces of software?
>>
>> Seth
>>
>> P.S. I know you have to make a file accessible at
>> /etc/systemd/system/<your .service file here> w/ the proper instructions in
>> that .service file. Now, to make it run should be easy, i.e. if this is
>> just one piece of software.
>>
>> [Unit]
>> Description=More of what will happen!
>>
>> [Service]
>> ExecStart= /your/path/to/the/.py/file.py
>>
>> [Install]
>> WantedBy=multi-user.target
>>
>> ^
>> |
>> |
>>
>> Try this!
>>
>>
>>
>> On Saturday, December 1, 2018 at 5:48:51 AM UTC-6, Harke Smits wrote:
>>>
>>> Hi Seth,
>>>
>>> In the meantime I think I tried just about any combination I can think
>>> of.
>>> Mostly I get the following error codes after demanding the status;
>>> Loaded....
>>> Active: failed
>>> Process: 1002 ... code = exited, status=203/EXEC
>>> Main PID: 1002.....
>>>
>>> In short; no luck so far........
>>> I am doing something fundamentally wrong I think... Or it is just
>>> impossible.
>>> I am lost here......
>>> Cheers,
>>> Harke
>>>
>>>
>>>
>>>
>>> On Fri, 30 Nov 2018 at 22:46, Mala Dies <fun...@gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> When you type under [Service], use only the PATH. Try that idea first.
>>>> I may be able to help out a bit.
>>>>
>>>> Seth
>>>>
>>>> P.S. For instance, say I have a Python file in this dir:
>>>> /home/debian/LoveBone/. I would simply put, under the [Service] tag,
>>>> ExecStart=/home/debain/LoveBone/MultipleIdeas.py for my PATH. Try that idea
>>>> and think about moving that [Unit] option for Requires=graphical.target.
>>>> Try that section under your [Install] section.
>>>>
>>>> On Friday, November 30, 2018 at 10:50:15 AM UTC-6, Harke Smits wrote:
>>>>>
>>>>> Hello Seth,
>>>>>
>>>>> Thanks a lot for your reaction. I already digested these pages (as
>>>>> good as I could, I am an RF engineer, not a programmer). Unfortunately 
>>>>> this
>>>>> does not help me much. The service file is at the correct location.
>>>>> I hope to get some clue where I am doing something wrong.
>>>>> Thanks again, regards,
>>>>> Harke
>>>>>
>>>>>
>>>>> On Friday, 30 November 2018 12:18:26 UTC+1, Mala Dies wrote:
>>>>>>
>>>>>> Hello Again Harke,
>>>>>>
>>>>>> Seth here. You need to put your .service files in
>>>>>> /etc/systemd/system/. I am pretty sure.
>>>>>>
>>>>>> Seth
>>>>>>
>>>>>> On Monday, November 26, 2018 at 5:49:16 AM UTC-6, Harke Smits wrote:
>>>>>>>
>>>>>>> Hello learned group,
>>>>>>>
>>>>>>> I have a Python application that I'd like to see start up on boot.
>>>>>>> It uses Tkinter, so it needs the graphical environment.
>>>>>>> Running: python /home/debian/eme/myprog.py from the QTerminal
>>>>>>> command line works as expected. Not outside the LXQT environment, which 
>>>>>>> is
>>>>>>> normal I think.
>>>>>>> I made a service file: myprog.service like this:
>>>>>>> [Unit]
>>>>>>> Description=to invoke myprog automatically on boot
>>>>>>> Requires=graphical.target
>>>>>>> [Service]
>>>>>>> Type=simple
>>>>>>> WorkingDirectory=/home/debian/eme/
>>>>>>> ExecStart=python /home/debian/eme/myprog.py
>>>>>>> [Install]
>>>>>>> WantedBy=multi-user.target
>>>>>>>
>>>>>>> Service file is located at both: /etc/systemd/system/ and
>>>>>>> /lib/systemd/system/ as I am unsure where it actually belongs. Of 
>>>>>>> course I
>>>>>>> already spend a lot of time at internet to find a solution. Only succes
>>>>>>> stories here....
>>>>>>> I entered the following;
>>>>>>> sudo systemctl enable myprog.service: nothing special
>>>>>>> sudo systemctl start myprog.service: service is not loaded
>>>>>>> properly.....
>>>>>>> sudo systemctl status myprog.service: error (invalid argument),
>>>>>>> inactive (dead).
>>>>>>>
>>>>>>> Both from bash or within QTerminal: behaviour is the same.
>>>>>>>
>>>>>>> Please help me out what to do.
>>>>>>> Kind regards,
>>>>>>> Harke
>>>>>>>
>>>>>>> --
>>>> For more options, visit http://beagleboard.org/discuss
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "BeagleBoard" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/beagleboard/goOORlttd2c/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> beagleboard...@googlegroups.com.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/beagleboard/91cdcefd-06b6-4d68-96fe-a95b7dcd4573%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/beagleboard/91cdcefd-06b6-4d68-96fe-a95b7dcd4573%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "BeagleBoard" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/beagleboard/goOORlttd2c/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> beagleboard+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beagleboard/7ab54d0b-e341-48ff-89d6-d9fac79ec09a%40googlegroups.com
>> <https://groups.google.com/d/msgid/beagleboard/7ab54d0b-e341-48ff-89d6-d9fac79ec09a%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to beagleboard+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beagleboard/CAHmciaYKU%2BXdLZXAR9gGiJXm2fj9YytG06-AyHX8KZ6fSWgODQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/beagleboard/CAHmciaYKU%2BXdLZXAR9gGiJXm2fj9YytG06-AyHX8KZ6fSWgODQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAGS%2B2h_q0FYbebThPZYUhxJWu7d4mFxQOuRM_0-AbCpZhOBcxw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to