Claymore 矿工无法与 screen 或 tmux 配合使用

Claymore 矿工无法与 screen 或 tmux 配合使用

我在一个系统上连接了 10 个 GPU,想要用它们全部进行挖掘,但是 ubuntu GUI 不允许同时运行 10 个 GPU,因此需要使用命令行并在那里进行挖掘。

现在我想在系统启动时运行我的矿工,特别是我正在关注的教程(步骤 7)。我已按照教程完成所有操作,但无法在屏幕会话中启动 ./start_only_eth.bash 命令(未创建屏幕会话)。

如果我正在执行以下命令,我可以使用“screen -ls”命令找到该会话。

screen -dmS ethm

以下是我的脚本(demo.sh)

// 更新

#!/bin/bash
DEFAULT_DELAY=0
if [ "x$1" = "x" -o "x$1" = "xnone" ]; then
   DELAY=$DEFAULT_DELAY
else
   DELAY=$1
fi
sleep $DELAY
su aman -c "screen -dmS ethm /home/aman/Desktop/claymore/start_only_eth.bash"

我已在 rc.local 文件中添加了此脚本的路径,如教程(步骤 7)。

以下是我的 rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution 
# bits.
#
# By default this script does nothing.

 sh '/home/aman/Desktop/demo.sh'
  exit 0

重启后如果我执行“screen -ls”命令我会收到以下消息

No Sockets found in /var/run/screen/S-aman.

注意:我认为问题不在于 rc.local,而在于 demo.sh。如果尝试手动执行 demo.sh,脚本将失败并出现上述消息。

// // -------------------------- 使用 TMUX -------------------- // //

我也尝试过使用 tmux,这次我能够在 tmux 会话中运行 miner(手动),但再次无法使用 rc.local 运行脚本,下面是我的 demo.sh

#!/bin/bash
tmux new-session -d -n MINER
tmux send-keys -t MINER "cd /home/aman/Desktop/claymore" C-m
tmux send-keys -t MINER "./start_only_eth.bash" C-m

以下是我尝试测试 rc.local 时得到的内容(控制台)

aman@aman-System-Product-Name:~$ sudo /etc/init.d/rc.local start
[sudo] password for aman: 
[ ok ] Starting rc.local (via systemctl): rc.local.service.

答案1

cd /home/Desktop/claymore
su aman -c "screen -dmS ethm ./start_only_eth.bash"

这样做有多个问题。首先,路径可能是/home/username/Desktop/claymore。其次,cd会影响当前脚本,并且可能不会通过 su 传送到屏幕上。

尝试:

su aman -c "screen -dmS ethm /home/username/Desktop/claymore/start_only_eth.bash"

如果脚本start_only_eth.bash需要将 PWD 设置为该目录,请添加一行

cd /home/username/Desktop/claymore

作为脚本的第二行。

替换username为实际的用户名。

相关内容