linux中执行python脚本的五种方式及其利弊,java的jar项目启动的三种方式及利弊

本文先讲python脚本启动,后面再讲java的jar启动

一、linux中启动执行python脚本的五种方式(本文以python3为例):

1、第一种方式:python3 文件名,例如:python3  get_file_head_new.py

2、第二种方式:脚本中第一行写入python3 的路径,利用./文件名启动,例如:

3、第三种方式:添加nohup启动,例如:nohup ./get_file_head_new.py

4、第四种方式:添加&启动,例如:./get_file_head_new.py &

5、第五种方式:nohup 加& 方式启动,例如:nohup ./get_file_head_new.py &

下面详细讲解五种启动优缺点:

    <1>第一种:python3 文件名,例如:python3  get_file_head_new.py

      这种启动方式,Ctrl+C会终止程序,关闭session会话窗口也会终止程序。

   <2>第二种:脚本中第一行写入python3 的路径,利用./文件名启动,例如:

    脚本首行需要加入python3命令的位置,其可以通过命令 which python 获取,例如:

#!/usr/bin/python
from http.server import HTTPServer
from http.server import SimpleHTTPRequestHandler

hostname= "192.168.159.130"
server_port=10010
server_address = (hostname, server_port)
httpd=HTTPServer(server_address, SimpleHTTPRequestHandler)
httpd.serve_forever()

   这种首行添加python3命令的方式,我再使用过成中遇到两个问题,

           (1)一个是要给脚本文件赋权限:chmod 777 get_file_head_new.py,否则报权限不够问题:-bash: ./get_file.py: Permission denied。

           (2)一个是要将文件转换为unix编码,否则会报错,notepad++就可以转,当然如果没有遇到这个问题,可以忽略不用管。

      这种方式,Ctrl+C会终止程序,关闭session会话窗口也会终止程序。

    <3>第三种:添加nohup启动,例如:nohup ./get_file_head_new.py

        这种方式,Ctrl+C会终止程序,但关闭session会话窗口不会终止程序。

    <4>添加&启动,例如:./get_file_head_new.py &

        这种方式,Ctrl+C不会终止程序,但关闭session会话窗口会终止程序。

    <5>第五种:nohup 加& 方式启动,例如:nohup ./get_file_head_new.py &

       这种方式,Ctrl+C不会终止程序,关闭session会话窗口也不会终止程序。

二、java的jar项目启动方式:

    1、第一种:java -jar jar包项目名,例如:java -jar decorate-web-1.0-SNAPSHOT.jar

        这种方式,Ctrl+C会终止程序,关闭session会话窗口也会终止程序。

    2、第一种:java -jar jar包项目名 &,例如:java -jar decorate-web-1.0-SNAPSHOT.jar &

      这种方式,Ctrl+C不会终止程序,关闭session会话窗口也不会终止程序。

    3、第三种:nohup java -jar jar包项目名 &,例如:nohup java -jar decorate-web-1.0-SNAPSHOT.jar &

      这种方式,Ctrl+C不会终止程序,关闭session会话窗口也不会终止程序。

总结:另外,python和java都可以封装.sh文件启动,此文不讨论这种情况。

          python后台启动推荐第五种方式,不会受Ctrl+C和关闭session窗口影响。

           java后台启动推荐第二种和第三种方式,不会受Ctrl+C和关闭session窗口影响。

发布了20 篇原创文章 · 获赞 24 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_41267342/article/details/105553185