文末
逆水行舟不进则退,所以大家要有危机意识。
同样是干到35岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。
这也是为什么大家都说35岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。
为了帮助大家更好温习重点知识、更高效的准备面试,特别整理了《前端工程师核心知识笔记》电子稿文件。
内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
269页《前端大厂面试宝典》
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
前端面试题汇总
6、编译完成后出现jsvc文件夹,复制jsvc到/usr/lib/tomcat/apache-tomcat-6.0.28/bin目录下面
[root@localhost ~]# cp jsvc /usr/lib/tomcat/apache-tomcat-6.0.28/bin
7、在/etc/init.d/(注意不是init文件夹)目录下编写tomcat6启动服务配置文件。
[root@localhost ~]#cd /etc/init.d/
[root@localhost ~]# vi tomcat6.0.28
#!/bin/sh
# tomcat: Start/Stop/Restart tomcat
#
# chkconfig: 2345 85 15
# description: Apache tomcat6
# Small shell script to show how to start/stop Tomcat using jsvc
JAVA_HOME=/usr/lib/java/jdk1.6.0_45 #根据自己的实际jdk位置来修改
CATALINA_HOME=/usr/lib/tomcat//apache-tomcat-6.0.28 #根据自己实际tomcat位置来修改
DAEMON_HOME=$CATALINA_HOME/bin
# I did not use the user.
TOMCAT_USER=tomcat
# for multi instances adapt those lines.
TMP_DIR=$CATALINA_HOME/tmp
PID_FILE=$DAEMON_HOME/jsvc.pid
CATALINA_BASE=$CATALINA_HOME
. /etc/rc.d/init.d/functions
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
start() {
echo -n $"Starting Tomcat6.0.28: "
# If you want to specify a user to run Tomcat.
#increase the 'user $ TOMCAT_USER ’ to the parameter list.
$DAEMON_HOME/jsvc \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile ‘&1’ \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
echo “*****************************[ok]”
}
stop() {
echo -n $"Stopping Tomcat6: "
#
$DAEMON_HOME/jsvc \
-stop \
-pidfile $PID_FILE \
org.apache.catalina.startup.Bootstrap
echo “*****************************[ok]”
}
status() {
ps ax --width=1000 | grep “[o]rg.apache.catalina.startup.Bootstrap” | awk ‘{printf $1 " "}’ | wc | awk ‘{print $2}’ >/tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcat6 ( pid "
ps ax --width=1000 | grep “[o]rg.apache.catalina.startup.Bootstrap” | awk ‘{printf $1 " "}’
echo ") is running "
else
echo “Tomcat6.0.28 is stopped”
fi
}
case “$1” in
start)
# Start Tomcat
start
exit $?
;;
stop)
# Stop Tomcat
stop
exit $?
;;
restart)
# Restart Tomcat
stop
sleep 3
start
exit $?
;;
status)
status
exit $?
;;
*)
echo “Usage: tomcat6 {start|stop|restart|status}”
exit 1;;
esac
#####
####
8、录入完成,按Esc键。输入: wq(vi下输入:x)保存退出并赋予/etc/init.d/tomcat6文件可执行权限
[root@localhost~]# chmod +x /etc/init.d/tomcat6.0.28
------------------添加服务-----------------------------------------
9、[root@localhost~] #chkconfig --add tomcat6.0.28 ##添加tomcat服务
若提示chkconfig命令未找到,则需要执行sudo apt-get install chkconfig
参考网址:http://blog.sina.com.cn/s/blog_66fb0c830100xm5y.html
PS:chkconfig是redhat公司遵循gpl规则所开发的程序在ubuntu上默认是不支持chkconfig命令的,但可以自己安装。Ubuntu下是使用sysv-rc-conf来代替chkconfig。
sudo apt-get install sysv-rc-conf
安装完成后,直接运行sudo sysv-rc-conf命令即可打开该管理软件,如下图所示:
操作界面十分简洁,你可以用鼠标点击,也可以用键盘方向键定位,用空格键选择, “X”表示开启该服务。 用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。
Ubuntu 的系统运行级别:
0 系统停机状态
1 单用户或系统维护状态
2~5 多用户状态
6 重新启动
Ubuntu下可以直接加入启动程序,例如把 /etc/init/tomcat6.0.28 加入到系统自动 启动列表中:
#sudo sysv-rc-conf tomcat6.0.28 on
想关闭tomcat6.0.28的开机自动启动,只需#sudo mv /etc/init.d/tomcat6.0.28(注意将配置脚本备份,否则删除后就跪了。)就可以了。
参考网址:http://www.linuxidc.com/Linux/2012-10/73123p2.htm
10、[root@localhost~] #chkconfig –list |grep tomcat6.0.28 ##查看tomcat服务是否被添加
--------------------启动服务---------------------------------------------
11、[root@localhost~] # service tomcat6.0.28 start ##启动tomcat服务
执行以上命令后,出现如下错误提示:
按照网上的说法,添加软连接ln -s /lib/lsb/init-functions /etc/rc.d/init.d/functions,继续提示错误,原因很明显:软连接的文件夹压根就不存在!
继续搜索,发现以下说法:
在Linux中,/etc/init.d 和 /etc/rc.d/init.d这两个目录,都是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。
在制作服务脚本的过程中,使用了Linux的两个版本,CentOS和Ubuntu,需要在两个版本中都可以开机启动服务。但Ubuntu没有 /etc/rc.d/init.d这个目录,所以,为了保持同一种服务在CentOS和Ubuntu使用的统一性,将服务脚本(注:服务脚本在两个不同版本中是不同的)都放在 /etc/init.d 目录下,最终达到的效果是相同的。
需要说明的是:在CentOS和Ubuntu两个版本中,除了服务脚本放置的目录是相同的,服务脚本的编写及服务配置都是不同的。比如CentOS使用Chkconfig进行配置,而Ubuntu使用sysv-rc-conf进行配置。
查看/etc/rc2.d/里面的apache和mysql启动脚本,通常都是两个阿拉伯数字后再接一个英文字母,再加脚本名称,例如S20tomcat6.0.28。英文字母是S的都是会自动启动的,K则相反。所以只要找到apache和mysql的启动脚本,把S改成K就可以了。
以下命令实现开机启动或不启动某服务(真的太像chkconfig了)
sudo sysv-rc-conf 服务名 on(off)
12、[root@localhost~] # sudo sysv-rc-conf off ##停止tomcat服务
13、[root@localhost~] #sudo sysv-rc-conf --list tomcat6.0.28 ##查看tomcat服务启动状态
命令执行效果如下:
Linux 系统主要启动步骤:
1. 读取MBR 的信息,启动Boot Manager Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的 Windows,您就需要在NTLDR 中选择您要进入的系统。Linux 通常使用功能强大,配置灵活的GRUB作为Boot Manager。
2. 加载系统内核,启动init 进程.init 进程是Linux 的根进程,所有的系统进程都是它的子进程。
3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启动,并指向一个系统中的程序。
通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是/etc/rcN.d/ 目录。例如您设定的运行级别为3,那么它对应的启动目录为/etc/rc3.d/ 。
4. 根据 /etc/rcS.d/ 文件夹中对应的脚本启动Xwindow 服务器xorgXwindow 为Linux 下的图形用户界面系统。
5. 启动登录管理器,等待用户登录Ubuntu 系统默认使用GDM 作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/文件夹中找到一个名为S13gdm 的链接)
2.编写服务启动类
package com.sohu.jsvc.test;
public class TestJsvc {
public static void main(String args[]) {
System.out.println(“execute main method!”);
}
public void init() throws Exception {
System.out.println(“execute init method!”);
}
public void init(String[] args) throws Exception{
System.out.println(“execute init(args) method”);
}
public void start() throws Exception {
System.out.println(“execute start method!”);
}
public void stop() throws Exception {
System.out.println(“execute stop method!”);
}
public void destroy() throws Exception{
System.out.println(“execute destroy method!”);
}
}
main方法可以去掉,但是init(String[] args),start(),stop(),destroy()方法不能少,服务在启动时会先调用init(String[] args)方法,然后调用start()方法,在服务停止时会首先调用stop()方法,然后调用destroy() 方法.
3.把这个类打包成webservice_engine.jar放到/usr/lib目录下
4.编写启动服务的脚本 webservice_engineJSVC
#!/bin/sh
# myjsvc This shell script takes care of starting and stopping
#
# chkconfig: - 60 50
# description: tlstat stat is a stat data daemon.
# processname: webservice_engineJSVC
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog=“webservice_engineJSVC”
# jdk的安装目录
JAVA_HOME=/usr/lib/java/jdk1.6.0_45
#应用程序的目录
MYJSVC_HOME=/test
#jsvc所在的目录
DAEMON_HOME=/usr/lib/tomcat//apache-tomcat-6.0.28/bin
#用户
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。
0 50
# description: tlstat stat is a stat data daemon.
# processname: webservice_engineJSVC
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog=“webservice_engineJSVC”
# jdk的安装目录
JAVA_HOME=/usr/lib/java/jdk1.6.0_45
#应用程序的目录
MYJSVC_HOME=/test
#jsvc所在的目录
DAEMON_HOME=/usr/lib/tomcat//apache-tomcat-6.0.28/bin
#用户
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
❤️ 谢谢支持,喜欢的话别忘了 关注、点赞哦。
[外链图片转存中…(img-kWT6F80F-1715452839544)]