我试图在tmux会话中运行python脚本。我写了一个命令(tmux new-session -d -s my_session),从crontab运行良好。
但是当我试图运行带有tmux new-session -d -s my_session 'python3 test.pytmux new-session -d -s my_session 'sh test.sh的python或shell文件时
脚本不运行。我使用了here中的引用。
请帮帮我。

最佳答案

编辑
您可以使用\;分离tmux命令,然后使用send-keys命令将命令发送到活动窗口。
在您的情况下,您可以使用:

tmux new-session -d -s my_session \; send-keys "python3 test.py" Enter
tmux new-session -d -s my_session \; send-keys "sh test.sh" Enter
tmux new-session -d -s my_session \; send-keys "python3 -m http.server 8080" Enter

您可以在tmux manpages section for send-keys上找到有关send-keys选项的更多信息:
发送密钥[-lMRX][-N重复计数][-t目标窗格]密钥。。。
(别名:send)
把一把或多把钥匙送到一个窗口。每个参数键都是要发送的键的名称(例如“C-a”或“NPage”);如果字符串未被识别为键,则将其作为一系列字符发送。l标志禁用键名查找并按字面意思发送键。所有参数都是从第一个到最后一个顺序发送的。-R标志使终端状态复位。
-M通过鼠标事件(仅当绑定到鼠标键绑定时有效,请参见MOUSE SUPPORT)。
-X用于将命令发送到复制模式-请参阅WINDOWS AND PANES部分。
-N指定重复计数。
send-keys语法在Key Bindings sectiontmux manpage中描述。send-keys使用的密钥名与bind-key使用的密钥名相同。
我通常在基本文件的基础上处理不同的配置文件。
假设您的tmux配置在~/.tmux.conf中,然后在~/.tmux/文件夹中创建不同的配置文件。例如,我可以有一个python配置文件(如果要在会话中输入,请使用attach):
# To use this configuration launch tmux with the command:
#   > tmux -f ~/.tmux/python.conf attach
#

# Load default tmux config
source-file ~/.tmux.conf

# Create session and launch python script
new-session -s python -n python -d -c ~/src/python/
send-keys "python test.py" Enter

这使我可以灵活地创建更复杂的会话。

关于linux - 如何在tmux session 中运行python文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49338467/

10-16 12:47