微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自自动启动脚本的命令会相互干扰

如何解决来自自动启动脚本的命令会相互干扰

我正在尝试在AWS服务器上编写python脚本,该脚本应在服务器每次启动时启动。目的是更改几个使用当前公共IP地址的文件。之后应启动四个程序:

  • Elasticsearch
  • 企业搜索
  • 启动烧瓶应用程序的Python API文件
  • 一个反应脚本

我编写了名为 JSON.parse(JSON.stringify(this.currentProfile)) == this.currentProfilecopy 的脚本,该脚本位于我的主目录中。然后,我使用以下命令创建了另一个名为start_elasticsearch.py的python文件

start.py

$ sudo nano /etc/init.d/start.py $ sudo chmod 755 /etc/init.d/start.py $ sudo update-rc.d start.py defaults 文件的目的是执行在主目录中定向的start.py脚本。那是因为我希望start_elasticsearch.py易于访问。

脚本如下:

start.py:

start_elasticsearch.py

start_elasticsearch.py​​

import os
os.system('python3 start_elasticsearch.py')

基本上,我会找到当前IP地址,修改删除文件,创建新文件,并启动相应的程序。

现在是问题所在:

  • 无论何时启动服务器,都不会发生任何事情。因此,显然import os import yaml from requests import get import socket os.system('sudo sysctl -w vm.max_map_count=262144') os.system('rm -f elasticsearch-7.9.2/config/elasticsearch.yml') os.system('rm -f enterprise-search-7.9.2/config/enterprise-search.yml') hostname = socket.gethostname() private = socket.gethostbyname(hostname) public = get('https://api.ipify.org').text private_ = private.replace(".","-") public_ = public.replace(".","-") elasticsearch = {some text} with open('elasticsearch-7.9.2/config/elasticsearch.yml','w') as outfile: yaml.dump(elasticsearch,outfile,default_flow_style=False) enterprise_search = {some other text} with open('enterprise-search-7.9.2/config/enterprise-search.yml','w') as outfile: yaml.dump(enterprise_search,default_flow_style=True) with open('my-app/src/App.js','r') as file: # read a list of lines into data react_script = file.readlines() react_script[22] = endpointbase os.system('rm -f my-app/src/App.js') with open('my-app/src/App.js','w') as file: file.writelines(react_script) with open('my-app/src/request.js','r') as file: # read a list of lines into data request = file.readlines() request[10] = ''' url: "http://ec2-''' os.system('rm -f my-app/src/request.js') with open('my-app/src/request.js','w') as file: file.writelines(request) with open('my-app/src/API.py','r') as file: # read a list of lines into data flask = file.readlines() flask[170] = ''' app.run(host="someip") ''' os.system('rm -f my-app/src/API.py') with open('my-app/src/API.py','w') as file: file.writelines(flask) os.system('python3 my-app/src/API.py') os.system('elasticsearch-7.9.2/bin/elasticsearch') os.system('enterprise-search-7.9.2/bin/enterprise-search') os.chdir('my-app') os.system('npm start') 脚本未执行。我在执行该操作时是否犯了任何错误
  • 当我手动启动脚本时,启动程序的日志将写入我创建的文件中。因此,我编写的文件包含例如Elasticsearch的日志。我该如何预防?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。