我指的是一个需要不断运行的代理程序,然后挖掘program.They都需要它们自己的窗口,并且我正在尝试创建一个脚本,以便能够在我的主机上运行它。我有一个主机和几个钻机,如果我有一个钻机,我想要SSH到我的主机,并执行一个脚本,将SSH到所述钻机,并执行上述行动。
运行Ubuntu14.04.3服务器
#!bin/bash
cd ~/adl3
./atitweak -f 100 -p 20
cd ~/eth-proxy
sudo python ./eth-proxy.py
aticonfig —adapter=ALL —odsc=1060,300
aticonfig —adapter=ALL -odcc
cd ~/cpp-ethereum/build/ethminer
./ethminer —farm-recheck 150 —cl-local-work 256 -G -F http://127.0.0.1:8080/foxtrot
exit 0发布于 2017-03-31 07:54:11
是的,可以使用setsid命令。我会这样改写你的剧本:
#!bin/bash
cd ~/adl3
./atitweak -f 100 -p 20
cd ~/eth-proxy
setsid gnome-terminal -e 'sudo python ./eth-proxy.py'
aticonfig —adapter=ALL —odsc=1060,300
aticonfig —adapter=ALL -odcc
cd ~/cpp-ethereum/build/ethminer
setsid gnome-terminal -e './ethminer —farm-recheck 150 —cl-local-work 256 -G -F http://127.0.0.1:8080/foxtrot'
exit 0或者,您可以像这样使用nohup command &。请注意,nohup将编写一个文件nohup.out来存储命令的输出,尽管重定向到/dev/null会防止这种情况发生。
如果需要隐藏脚本的输出,请将&> /dev/null添加到所需的特定命令中,或添加到命令行中的整个脚本中,例如:
./my_script.sh &> /dev/null如果多个命令需要sudo,那么将其附加到命令行上对脚本的调用开始,尽管这样您将不得不使用完整路径而不是~扩展。实际上,如果在脚本中放置完整路径而不是~,它将节省几行脚本(并确保正确的执行)。
发布于 2017-03-31 15:42:56
在标准Ubuntu上,您将拥有可用的gnome-terminal。在Kubuntu,可能是konsole。
若要在内部运行命令启动新的终端/窗口,您可以发出
gnome-terminal -e "sudo python ./eth-proxy.py"或
konsole -e "sudo python ./eth-proxy.py"ethminer的命令行看起来类似。
作为另一种选择,您还可以在后台运行命令并重定向输出,如下
python ./eth-proxy.py >/tmp/eth-proxy.log 2>&1 &然后使用tail偶尔查看输出。
tail -f /tmp/eth-proxy.loghttps://askubuntu.com/questions/898752
复制相似问题