tkinter start and stop buttons











up vote
0
down vote

favorite












ive done two opc-ua servers one that reads the tag value from a textfile and another that reads the value from SQL. Now ive done a "server menu" in tkinter that can start the servers among other things.
The problem is that i cant turn one of them off and leave the other one running,
i want something like this:



import subprocess

def start_txt():
txt = subprocess.Popen("python TAG_TXT.py &", shell=True)
return txt

def stop_txt():
subprocess.Popen('taskkill /F /PID {0}'.format(start_txt(txt)),
shell=True)

def start_SQL():
SQL = subprocess.Popen("python TAG_SQL.py &", shell=True)
return SQL

def stop_SQL():
subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)),
shell=True)


if i use this:



os.system("taskkill /f /im python.exe")


i kill both servers



error msg:



Exception in Tkinter callback
Traceback (most recent call last):
File "C:UsersadminAppDataLocalProgramsPythonPython37-
32libtkinter__init__.py", line 1702, in __call__
return self.func(*args)
File "C:PY_OPCUAservermeny_GUI.py", line 237, in kill_txt
subprocess.Popen('taskkill /F /PID {0}'.format(textfile_server(txt)),
shell=True)
NameError: name 'txt' is not defined


ive only used tkinter once before so it is probably very easy fix










share|improve this question


























    up vote
    0
    down vote

    favorite












    ive done two opc-ua servers one that reads the tag value from a textfile and another that reads the value from SQL. Now ive done a "server menu" in tkinter that can start the servers among other things.
    The problem is that i cant turn one of them off and leave the other one running,
    i want something like this:



    import subprocess

    def start_txt():
    txt = subprocess.Popen("python TAG_TXT.py &", shell=True)
    return txt

    def stop_txt():
    subprocess.Popen('taskkill /F /PID {0}'.format(start_txt(txt)),
    shell=True)

    def start_SQL():
    SQL = subprocess.Popen("python TAG_SQL.py &", shell=True)
    return SQL

    def stop_SQL():
    subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)),
    shell=True)


    if i use this:



    os.system("taskkill /f /im python.exe")


    i kill both servers



    error msg:



    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:UsersadminAppDataLocalProgramsPythonPython37-
    32libtkinter__init__.py", line 1702, in __call__
    return self.func(*args)
    File "C:PY_OPCUAservermeny_GUI.py", line 237, in kill_txt
    subprocess.Popen('taskkill /F /PID {0}'.format(textfile_server(txt)),
    shell=True)
    NameError: name 'txt' is not defined


    ive only used tkinter once before so it is probably very easy fix










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      ive done two opc-ua servers one that reads the tag value from a textfile and another that reads the value from SQL. Now ive done a "server menu" in tkinter that can start the servers among other things.
      The problem is that i cant turn one of them off and leave the other one running,
      i want something like this:



      import subprocess

      def start_txt():
      txt = subprocess.Popen("python TAG_TXT.py &", shell=True)
      return txt

      def stop_txt():
      subprocess.Popen('taskkill /F /PID {0}'.format(start_txt(txt)),
      shell=True)

      def start_SQL():
      SQL = subprocess.Popen("python TAG_SQL.py &", shell=True)
      return SQL

      def stop_SQL():
      subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)),
      shell=True)


      if i use this:



      os.system("taskkill /f /im python.exe")


      i kill both servers



      error msg:



      Exception in Tkinter callback
      Traceback (most recent call last):
      File "C:UsersadminAppDataLocalProgramsPythonPython37-
      32libtkinter__init__.py", line 1702, in __call__
      return self.func(*args)
      File "C:PY_OPCUAservermeny_GUI.py", line 237, in kill_txt
      subprocess.Popen('taskkill /F /PID {0}'.format(textfile_server(txt)),
      shell=True)
      NameError: name 'txt' is not defined


      ive only used tkinter once before so it is probably very easy fix










      share|improve this question













      ive done two opc-ua servers one that reads the tag value from a textfile and another that reads the value from SQL. Now ive done a "server menu" in tkinter that can start the servers among other things.
      The problem is that i cant turn one of them off and leave the other one running,
      i want something like this:



      import subprocess

      def start_txt():
      txt = subprocess.Popen("python TAG_TXT.py &", shell=True)
      return txt

      def stop_txt():
      subprocess.Popen('taskkill /F /PID {0}'.format(start_txt(txt)),
      shell=True)

      def start_SQL():
      SQL = subprocess.Popen("python TAG_SQL.py &", shell=True)
      return SQL

      def stop_SQL():
      subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)),
      shell=True)


      if i use this:



      os.system("taskkill /f /im python.exe")


      i kill both servers



      error msg:



      Exception in Tkinter callback
      Traceback (most recent call last):
      File "C:UsersadminAppDataLocalProgramsPythonPython37-
      32libtkinter__init__.py", line 1702, in __call__
      return self.func(*args)
      File "C:PY_OPCUAservermeny_GUI.py", line 237, in kill_txt
      subprocess.Popen('taskkill /F /PID {0}'.format(textfile_server(txt)),
      shell=True)
      NameError: name 'txt' is not defined


      ive only used tkinter once before so it is probably very easy fix







      python-3.x tkinter






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 20 at 9:03







      user10506014































          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          You haven't defined txt.

          In your stop functions you call:



          subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)), shell=True)


          txt has not been defined before, I guess you forgot to add it as a function parameter






          share|improve this answer





















          • sorry i suck at functions, should i have txt parameter in stop or start function?
            – user10506014
            Nov 20 at 9:22










          • You should have txt parameter in any function that directly uses it
            – Treizh
            Nov 20 at 11:25











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          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',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          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%2fstackoverflow.com%2fquestions%2f53389492%2ftkinter-start-and-stop-buttons%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown
























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote



          accepted










          You haven't defined txt.

          In your stop functions you call:



          subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)), shell=True)


          txt has not been defined before, I guess you forgot to add it as a function parameter






          share|improve this answer





















          • sorry i suck at functions, should i have txt parameter in stop or start function?
            – user10506014
            Nov 20 at 9:22










          • You should have txt parameter in any function that directly uses it
            – Treizh
            Nov 20 at 11:25















          up vote
          0
          down vote



          accepted










          You haven't defined txt.

          In your stop functions you call:



          subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)), shell=True)


          txt has not been defined before, I guess you forgot to add it as a function parameter






          share|improve this answer





















          • sorry i suck at functions, should i have txt parameter in stop or start function?
            – user10506014
            Nov 20 at 9:22










          • You should have txt parameter in any function that directly uses it
            – Treizh
            Nov 20 at 11:25













          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted






          You haven't defined txt.

          In your stop functions you call:



          subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)), shell=True)


          txt has not been defined before, I guess you forgot to add it as a function parameter






          share|improve this answer












          You haven't defined txt.

          In your stop functions you call:



          subprocess.Popen('taskkill /F /PID {0}'.format(start_SQL(txt)), shell=True)


          txt has not been defined before, I guess you forgot to add it as a function parameter







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 20 at 9:10









          Treizh

          1237




          1237












          • sorry i suck at functions, should i have txt parameter in stop or start function?
            – user10506014
            Nov 20 at 9:22










          • You should have txt parameter in any function that directly uses it
            – Treizh
            Nov 20 at 11:25


















          • sorry i suck at functions, should i have txt parameter in stop or start function?
            – user10506014
            Nov 20 at 9:22










          • You should have txt parameter in any function that directly uses it
            – Treizh
            Nov 20 at 11:25
















          sorry i suck at functions, should i have txt parameter in stop or start function?
          – user10506014
          Nov 20 at 9:22




          sorry i suck at functions, should i have txt parameter in stop or start function?
          – user10506014
          Nov 20 at 9:22












          You should have txt parameter in any function that directly uses it
          – Treizh
          Nov 20 at 11:25




          You should have txt parameter in any function that directly uses it
          – Treizh
          Nov 20 at 11:25


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • 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%2fstackoverflow.com%2fquestions%2f53389492%2ftkinter-start-and-stop-buttons%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

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          Refactoring coordinates for Minecraft Pi buildings written in Python