How do I configure my Amazon Linux service to auto-restart if it fails?












1














I'm using Amazon Linux. I have a script to start and stop a service, written in bash, located at



/etc/init.d/wildfly


At the various run levels, I have symlinks to ensure the script starts and stops, for instance



/etc/rc.d/rc3.d/S80wildfly
/etc/rc.d/rc2.d/S80wildfly


But my question is, what do I need to do to ensure if the service fails, ti can automatically restart? I read on CentOS, you can create a file (e.g. "wildfly.service") with the directives



Restart=always
RestartSec=3


Where do the equivalent directives live on Amazon Linux?










share|improve this question















This question has an open bounty worth +50
reputation from Dave ending in 3 days.


Looking for an answer drawing from credible and/or official sources.





















    1














    I'm using Amazon Linux. I have a script to start and stop a service, written in bash, located at



    /etc/init.d/wildfly


    At the various run levels, I have symlinks to ensure the script starts and stops, for instance



    /etc/rc.d/rc3.d/S80wildfly
    /etc/rc.d/rc2.d/S80wildfly


    But my question is, what do I need to do to ensure if the service fails, ti can automatically restart? I read on CentOS, you can create a file (e.g. "wildfly.service") with the directives



    Restart=always
    RestartSec=3


    Where do the equivalent directives live on Amazon Linux?










    share|improve this question















    This question has an open bounty worth +50
    reputation from Dave ending in 3 days.


    Looking for an answer drawing from credible and/or official sources.



















      1












      1








      1







      I'm using Amazon Linux. I have a script to start and stop a service, written in bash, located at



      /etc/init.d/wildfly


      At the various run levels, I have symlinks to ensure the script starts and stops, for instance



      /etc/rc.d/rc3.d/S80wildfly
      /etc/rc.d/rc2.d/S80wildfly


      But my question is, what do I need to do to ensure if the service fails, ti can automatically restart? I read on CentOS, you can create a file (e.g. "wildfly.service") with the directives



      Restart=always
      RestartSec=3


      Where do the equivalent directives live on Amazon Linux?










      share|improve this question













      I'm using Amazon Linux. I have a script to start and stop a service, written in bash, located at



      /etc/init.d/wildfly


      At the various run levels, I have symlinks to ensure the script starts and stops, for instance



      /etc/rc.d/rc3.d/S80wildfly
      /etc/rc.d/rc2.d/S80wildfly


      But my question is, what do I need to do to ensure if the service fails, ti can automatically restart? I read on CentOS, you can create a file (e.g. "wildfly.service") with the directives



      Restart=always
      RestartSec=3


      Where do the equivalent directives live on Amazon Linux?







      services amazon-ec2 autostart amazon-linux






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 20 '18 at 20:20









      Dave

      3871734




      3871734






      This question has an open bounty worth +50
      reputation from Dave ending in 3 days.


      Looking for an answer drawing from credible and/or official sources.








      This question has an open bounty worth +50
      reputation from Dave ending in 3 days.


      Looking for an answer drawing from credible and/or official sources.
























          2 Answers
          2






          active

          oldest

          votes


















          0















          I'm using Amazon Linux.




          ok, type in man init



          If it's any fresh you'll see it's systemd in fact. So thus your q-n transforms into something answered already.



          In case you consider systemd over-engineered (as many of us in fact do) you can give a try to venerable daemon-tools or smth alike (runit, supervisord). Be prepared it might be not in standard repos Amazon Linux comes with though.






          share|improve this answer



















          • 1




            Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
            – Dave
            7 hours ago










          • I suggested first man init
            – poige
            6 hours ago



















          0














          Amazon Linux 2



          If your version of Amazon Linux is >=2.0, it has systemd by default. In this case, you should simply be able to use the same unit file you have been using on CentOS, with the restart directives.



          Amazon Linux AMI



          If you are you are running Amazon Linux AMI, you will need to either use a separate supervisor to monitor your process (as poige mentioned), or utilize /etc/inittab.



          For example, in order to have sysvinit automatically restart your process:



          # Start and respawn process
          mydaemon:2345:respawn:/path/to/executable


          This tells sysvinit to start the process on runlevels 2, 3, 4, and 5 and restart it when it terminates.






          share|improve this answer





















            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "106"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490201%2fhow-do-i-configure-my-amazon-linux-service-to-auto-restart-if-it-fails%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0















            I'm using Amazon Linux.




            ok, type in man init



            If it's any fresh you'll see it's systemd in fact. So thus your q-n transforms into something answered already.



            In case you consider systemd over-engineered (as many of us in fact do) you can give a try to venerable daemon-tools or smth alike (runit, supervisord). Be prepared it might be not in standard repos Amazon Linux comes with though.






            share|improve this answer



















            • 1




              Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
              – Dave
              7 hours ago










            • I suggested first man init
              – poige
              6 hours ago
















            0















            I'm using Amazon Linux.




            ok, type in man init



            If it's any fresh you'll see it's systemd in fact. So thus your q-n transforms into something answered already.



            In case you consider systemd over-engineered (as many of us in fact do) you can give a try to venerable daemon-tools or smth alike (runit, supervisord). Be prepared it might be not in standard repos Amazon Linux comes with though.






            share|improve this answer



















            • 1




              Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
              – Dave
              7 hours ago










            • I suggested first man init
              – poige
              6 hours ago














            0












            0








            0







            I'm using Amazon Linux.




            ok, type in man init



            If it's any fresh you'll see it's systemd in fact. So thus your q-n transforms into something answered already.



            In case you consider systemd over-engineered (as many of us in fact do) you can give a try to venerable daemon-tools or smth alike (runit, supervisord). Be prepared it might be not in standard repos Amazon Linux comes with though.






            share|improve this answer















            I'm using Amazon Linux.




            ok, type in man init



            If it's any fresh you'll see it's systemd in fact. So thus your q-n transforms into something answered already.



            In case you consider systemd over-engineered (as many of us in fact do) you can give a try to venerable daemon-tools or smth alike (runit, supervisord). Be prepared it might be not in standard repos Amazon Linux comes with though.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Jan 1 at 4:46

























            answered Dec 31 '18 at 12:56









            poige

            4,0291542




            4,0291542








            • 1




              Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
              – Dave
              7 hours ago










            • I suggested first man init
              – poige
              6 hours ago














            • 1




              Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
              – Dave
              7 hours ago










            • I suggested first man init
              – poige
              6 hours ago








            1




            1




            Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
            – Dave
            7 hours ago




            Hi, So you're suggesting the answer from the post you linked to? When I tried running "sudo systemctl edit wildfly.service", I got the error, "sudo: systemctl: command not found".
            – Dave
            7 hours ago












            I suggested first man init
            – poige
            6 hours ago




            I suggested first man init
            – poige
            6 hours ago













            0














            Amazon Linux 2



            If your version of Amazon Linux is >=2.0, it has systemd by default. In this case, you should simply be able to use the same unit file you have been using on CentOS, with the restart directives.



            Amazon Linux AMI



            If you are you are running Amazon Linux AMI, you will need to either use a separate supervisor to monitor your process (as poige mentioned), or utilize /etc/inittab.



            For example, in order to have sysvinit automatically restart your process:



            # Start and respawn process
            mydaemon:2345:respawn:/path/to/executable


            This tells sysvinit to start the process on runlevels 2, 3, 4, and 5 and restart it when it terminates.






            share|improve this answer


























              0














              Amazon Linux 2



              If your version of Amazon Linux is >=2.0, it has systemd by default. In this case, you should simply be able to use the same unit file you have been using on CentOS, with the restart directives.



              Amazon Linux AMI



              If you are you are running Amazon Linux AMI, you will need to either use a separate supervisor to monitor your process (as poige mentioned), or utilize /etc/inittab.



              For example, in order to have sysvinit automatically restart your process:



              # Start and respawn process
              mydaemon:2345:respawn:/path/to/executable


              This tells sysvinit to start the process on runlevels 2, 3, 4, and 5 and restart it when it terminates.






              share|improve this answer
























                0












                0








                0






                Amazon Linux 2



                If your version of Amazon Linux is >=2.0, it has systemd by default. In this case, you should simply be able to use the same unit file you have been using on CentOS, with the restart directives.



                Amazon Linux AMI



                If you are you are running Amazon Linux AMI, you will need to either use a separate supervisor to monitor your process (as poige mentioned), or utilize /etc/inittab.



                For example, in order to have sysvinit automatically restart your process:



                # Start and respawn process
                mydaemon:2345:respawn:/path/to/executable


                This tells sysvinit to start the process on runlevels 2, 3, 4, and 5 and restart it when it terminates.






                share|improve this answer












                Amazon Linux 2



                If your version of Amazon Linux is >=2.0, it has systemd by default. In this case, you should simply be able to use the same unit file you have been using on CentOS, with the restart directives.



                Amazon Linux AMI



                If you are you are running Amazon Linux AMI, you will need to either use a separate supervisor to monitor your process (as poige mentioned), or utilize /etc/inittab.



                For example, in order to have sysvinit automatically restart your process:



                # Start and respawn process
                mydaemon:2345:respawn:/path/to/executable


                This tells sysvinit to start the process on runlevels 2, 3, 4, and 5 and restart it when it terminates.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 6 hours ago









                novice

                135




                135






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Unix & Linux Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490201%2fhow-do-i-configure-my-amazon-linux-service-to-auto-restart-if-it-fails%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    CARDNET

                    Boot-repair Failure: Unable to locate package grub-common:i386

                    濃尾地震