Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. ioBroker und exec an Raspbian "kill -SIGSTOP"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ioBroker und exec an Raspbian "kill -SIGSTOP"

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      e-i-k-e last edited by

      Hallo zusammen,

      ich möchte den Befehl "kill -SIGCONT 941 && kill -SIGCONT 709" und "kill -SIGSTOP 941 && kill -SIGSTOP 709" über den Javascript Adapter an ein Raspberry senden. Leider werden diese nicht ausgeführt, obwohl es direkt über SSH funktonirt.

      Die anderen verbauten Befehle werden ohne Probleme über diesen Weg ausgeführt.
      Kann es an den "user: iobroker" (Rechteproblem) liegen?

      FB_IMG_1560420635257.jpg
      FB_IMG_1560420639421.jpg
      FB_IMG_1560420642902.jpg

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @e-i-k-e last edited by

        @e-i-k-e

        kommt darauf an, wie iobroker installiert ist - oder auch ob das fixer.sh installiert wurde

        hatte auch problem - vielleicht hilft das weiter

        https://forum.iobroker.net/post/269945

        1 Reply Last reply Reply Quote 1
        • liv-in-sky
          liv-in-sky @e-i-k-e last edited by

          @e-i-k-e

          bei mir wurde iobroker mit root installiert - exec() (iobroker) wurde aber wegen des fixer.sh scripts mit dem user iobroker ausgeführt - da meine befehle aber den root brauchten, funktionierte es nicht - aber es gab eine lösung dafür - siehe post vorher

          1 Reply Last reply Reply Quote 1
          • E
            e-i-k-e last edited by

            vielen Dank @liv-in-sky !

            Iobroker wurde damals als root installiert, den fixer habe ich in der Vergangenheit ausführen müssen.

            Habe ich es richtig verstanden, dass ich einfach nur "sudo -u root" vor meinem Befehl eintragen muss?

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @e-i-k-e last edited by

              @e-i-k-e nee - nicht ganz

              du must den befehl sozusagen freigeben - unter /etc/sudoers.d muss ein eintrag dazu gemacht werden

              unter https://forum.iobroker.net/post/270742 - habe ich es noch kurz beschrieben

              1 Reply Last reply Reply Quote 1
              • v522533
                v522533 last edited by

                kann mann nicht einfach su -c vor den befehl schreiben. sollte doch eigentlich auch funktionieren, oder? vorrausgesetzt man hat einen private key zur vermeidung der passwort eingabe eingerichtet.

                liv-in-sky 2 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @v522533 last edited by

                  @v522533

                  weiß nicht was su -c macht - probiers mal und sag bescheid - evtl kurze anleitung /beispiel , falls funktioniert - können sicher andere auch gebrauchen

                  v522533 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @v522533 last edited by

                    @v522533

                    zur sicherheit wollte ich es erwähnen (nehme an du weißt das eh)- bei meinem link geht es nur um den punkt zu a

                    der rest ist für dein thema unwichtig

                    1 Reply Last reply Reply Quote 0
                    • v522533
                      v522533 @liv-in-sky last edited by

                      @liv-in-sky

                      kurz zusammen gefasst: su -c führt einen einzelnen befehl eines users mit root rechten aus.
                      würde dann so aussehen:

                      su -c "ssh user@ip sudo reboot"
                      

                      ich konnte es selber noch nicht testen, bin bei der arbeit. werde ich aber heute abend mal versuchen und berichten.

                      ich möchte den monitor von meinem magic mirror per aqara wlan switch an und ausschalten

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @v522533 last edited by liv-in-sky

                        @v522533

                        am gerät ist immer besser

                        aber sieh dir heute abend mal das file iobroker in diesem verzeichnis an - dann wird es schnell klar

                        nur zum verständnis: dein befehl geht über ssh zu sich selbst und benötigt dann den private key -dein blockly oben benutzt ja kein ssh ! - sondern du sendest es an den iobroker server selbst mit dem exec blockly
                        wenn du aber auf ein anderes gerät zugreifen willst würde auch sshpass funktionieren - ohne zertifikat mit passwort (unsicher)

                        /usr/bin/sshpass -p 'xxxx' ssh -oStrictHostKeyChecking=no root@192.168.178.10 'systemctl start shutdownschlafen'
                        

                        eigentlich sollte der ssh befehl lokal auch ohne sudo funktionieren (also mit dem iobroker user , der braucht doch kein root) - da brauchsrt du ja nur die rechte auf dem anderen gerät

                        v522533 1 Reply Last reply Reply Quote 0
                        • v522533
                          v522533 @liv-in-sky last edited by v522533

                          @liv-in-sky

                          nur kurz klarstellung: ich bin nicht der thread ersteller, habe mich nur eingeklinkt, weil ich ähnliches vorhabe...

                          ich habe vor den monitor von meinem magic mirror mit einem aqara wlanswitch an- und auszuschalten. dafür muss ich von meinem iobroker (rock64) auf meinem pi mit magic mirror per exec einen befehl ausführen.

                          ich habe mir nur gedacht dass meine lösung vielleicht auch dem te helfen könnte, sofern sie denn funktioniert 😉

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @v522533 last edited by liv-in-sky

                            @v522533 sorry - verzeih meine verwirrtheit

                            dann ist ja eh alles klar

                            die lösung wäre auf jeden fall interessant

                            1 Reply Last reply Reply Quote 0
                            • E
                              e-i-k-e last edited by e-i-k-e

                              Wenn ich heute Abend die Zeit dazu finde, werde ich beide Varianten testen. 👍
                              Berichte euch.

                              1 Reply Last reply Reply Quote 0
                              • E
                                e-i-k-e last edited by e-i-k-e

                                Also mit su -c funktioniert es nicht.

                                Mit der Version von @liv-in-sky haut es noch nicht richtig hin. Wo liegt mein Fehler? 😕

                                1.JPG

                                2.JPG

                                3.JPG

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @e-i-k-e last edited by

                                  @e-i-k-e wenn du im exec-blockly das "mit ereignis" auswählst und eine variable erstellst - mit dem namen result - kanns t du besser debuggen - im log steht dann die antwort

                                  Image 1.png

                                  ich sehe jetzt auf anhieb keinen fehler

                                  existiert die pid (die kann sich auch ändern)

                                  E 1 Reply Last reply Reply Quote 0
                                  • E
                                    e-i-k-e @liv-in-sky last edited by

                                    Werde ich testen.
                                    Die PID existieren.

                                    Schade des es noch nicht funktioniert.

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @e-i-k-e last edited by

                                      @e-i-k-e das wird schon noch 🙂

                                      der eintrag für das sudoers file:

                                      iobroker ALL=(ALL) NOPASSWD: /bin/kill
                                      

                                      sollte so aussehen - sorry mein fehler-

                                      versuch es damit mal

                                      1 Reply Last reply Reply Quote 0
                                      • E
                                        e-i-k-e last edited by e-i-k-e

                                        Guten Morgen,

                                        vielen Dank!
                                        Leider werden die Befehle weiterhin nicht ausgeführt. 😲


                                        Scheint doch zu funktionieren! 👍
                                        Diesmal hat sich die PID geändert. Gibt es eine alternative zum PID?

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @e-i-k-e last edited by

                                          @e-i-k-e

                                          du könntest die pid vorher auslesen (exec) mit dem ergebnis (result) dann arbeiten - du kannst ja mit dem

                                          probier doch mal

                                          pgrep 
                                          

                                          Image 1.png

                                          dieses beispiel sucht nach der pid meines bash-scriptes (dlnafind)

                                          Image 3.png

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            e-i-k-e last edited by e-i-k-e

                                            @liv-in-sky

                                            Vielen Dank!
                                            Ich habe nun folgenden (für mich einfachere) Lösung.

                                            • sudo -u root pkill -SIGSTOP "name des prozesses"
                                            • sudo -u root pkill -SIGCONT "name des prozesses"

                                            Funktioniert bestens. ☺

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            521
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly communication javascript
                                            3
                                            21
                                            1324
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo