将可执行程序复制到Synology NAS上。你可以通过SSH连接到你的NAS,并将可执行程序复制到合适的目录下。例如,你可以将可执行程序复制到/usr/local/bin目录下。
使用SSH连接到你的NAS,并登录为root用户。
创建一个名为startup.sh的脚本文件。你可以使用vi或nano等文本编辑器创建该文件。例如,在终端中输入以下命令以创建startup.sh文件:
vi /usr/local/etc/rc.d/startup.sh
在startup.sh文件中添加以下内容,这将启动你的可执行程序:
#!/bin/sh
/usr/local/bin/your_executable_program
其中,your_executable_program是你要运行的可执行程序的名称。
授予startup.sh文件执行权限。在终端中输入以下命令:
chmod +x /usr/local/etc/rc.d/startup.sh
重启NAS以验证启动脚本是否正常工作。在终端中输入以下命令:
syno_poweroff_task -r
等待NAS重新启动后,你的可执行程序将自动启动。
如果你想停止该程序,可以通过SSH连接到你的NAS,并运行以下命令:
/usr/local/etc/rc.d/startup.sh stop
如果要卸载该程序,请删除startup.sh文件,并在终端中输入以下命令以删除相关的启动任务:
/usr/syno/bin/synonotify PKGHasStopped pkgname=your_package_name
其中,your_package_name是你的程序名称。
&符号和nohup命令
&符号和nohup命令都可以将一个命令或程序放到后台运行,但它们之间有一些区别
&符号是一种在命令行中使用的特殊字符,它表示将命令放到后台运行。例如:
command &
这将使command命令在后台运行,并立即释放终端会话,让你可以继续输入其他命令。但是,如果你关闭了终端会话,这个后台进程也将被关闭。
nohup命令是一个可执行程序,可以将一个命令或程序放到后台运行,并忽略挂起信号(SIGHUP)。这意味着,即使你关闭了终端会话,这个后台进程也不会被关闭。例如:
nohup command &
这将使用nohup命令将command命令放到后台运行,并忽略挂起信号。如果你关闭了终端会话,这个后台进程仍然会继续运行。
因此,&符号适用于临时需要将命令或程序放到后台运行的场景,而nohup命令适用于长时间运行的进程,可以确保即使关闭终端会话也不会影响其运行。
/dev/null 2>&1 &
nohup /test > /dev/null 2>&1 &
"> /dev/null":将标准输出重定向到/dev/null文件中。/dev/null是一个特殊的设备文件,它将一切写入它的输入都丢弃掉,因此程序的标准输出将被丢弃。
"2>&1":将标准错误输出(文件描述符2)重定向到标准输出(文件描述符1)的位置。这样,程序的标准错误输出也将被重定向到/dev/null文件中,被丢弃。