diff --git a/plugins/swap/index.py b/plugins/swap/index.py index 6d26846f8..9cdd78aa9 100755 --- a/plugins/swap/index.py +++ b/plugins/swap/index.py @@ -79,7 +79,7 @@ def initDreplace(): if not os.path.exists(file_bin): content = mw.readFile(file_tpl) content = content.replace( - '{$SERVER_PATH}', getServerDir() + '/swap/swapfile') + '{$SERVER_PATH}', getServerDir() + '/swapfile') mw.writeFile(file_bin, content) mw.execShell('chmod +x ' + file_bin) @@ -89,10 +89,12 @@ def initDreplace(): systemServiceTpl = getPluginDir() + '/init.d/swap.service.tpl' if os.path.exists(systemDir) and not os.path.exists(systemService): swapon_bin = mw.execShell('which swapon')[0].strip() + swapoff_bin = mw.execShell('which swapoff')[0].strip() service_path = mw.getServerDir() se_content = mw.readFile(systemServiceTpl) se_content = se_content.replace('{$SERVER_PATH}', service_path) se_content = se_content.replace('{$SWAPON_BIN}', swapon_bin) + se_content = se_content.replace('{$SWAPOFF_BIN}', swapoff_bin) mw.writeFile(systemService, se_content) mw.execShell('systemctl daemon-reload') diff --git a/plugins/swap/init.d/swap.service.tpl b/plugins/swap/init.d/swap.service.tpl index 7fc37103c..6765e6c55 100644 --- a/plugins/swap/init.d/swap.service.tpl +++ b/plugins/swap/init.d/swap.service.tpl @@ -5,8 +5,10 @@ After=network.target [Service] Type=forking -ExecStart={$SWAPON_BIN} {$SERVER_PATH}/swap/swapfile -ExecReload=/bin/kill -USR2 $MAINPID +ExecStart={$SERVER_PATH}/swap/init.d/swap start +ExecStop={$SERVER_PATH}/swap/init.d/swap stop +RemainAfterExit=yes + [Install] WantedBy=multi-user.target